openwrt/target/linux/bcm27xx/patches-5.4/950-0314-dma-direct-Temporary-DMA-fix-on-arm64.patch
Hauke Mehrtens e0bdf83972 kernel: bump 5.4 to 5.4.191
Merged upstream:
 apm821xx/patches-5.4/150-ata-sata_dwc_460ex-Fix-crash-due-to-OOB-write.patch

Similar patch merged upstream:
 bcm27xx/patches-5.4/950-0210-usb-xhci-Disable-the-XHCI-5-second-timeout.patch

Manually adapted:
 layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch

Compile-tested: armvirt/64
Run-tested: armvirt/64

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-05-18 00:10:34 +02:00

24 lines
727 B
Diff

From afde0ffa449eef528deb2fe455a512acd0569be4 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 25 Sep 2019 09:49:58 +0100
Subject: [PATCH] dma-direct: Temporary DMA fix on arm64
See: https://github.com/raspberrypi/linux/issues/3251
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
kernel/dma/direct.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/dma/direct.c
+++ b/kernel/dma/direct.c
@@ -399,7 +399,7 @@ int dma_direct_supported(struct device *
if (IS_ENABLED(CONFIG_ZONE_DMA))
min_mask = DMA_BIT_MASK(ARCH_ZONE_DMA_BITS);
else
- min_mask = DMA_BIT_MASK(32);
+ min_mask = DMA_BIT_MASK(30);
min_mask = min_t(u64, min_mask, (max_pfn - 1) << PAGE_SHIFT);