From: Andy Shevchenko Date: Tue, 17 Nov 2015 11:34:26 +0000 (+0200) Subject: dmaengine: acpi-dma: check for 64-bit MMIO address X-Git-Tag: v4.5-rc1~120^2~21 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f94cf9f4c54a72ccbd2078bb0cedd3691a71c431;p=karo-tx-linux.git dmaengine: acpi-dma: check for 64-bit MMIO address Currently the match DMA controller is done only for lower 32 bits of address which might be not true on 64-bit platform. Check upper portion as well. Signed-off-by: Andy Shevchenko Signed-off-by: Vinod Koul --- diff --git a/drivers/dma/acpi-dma.c b/drivers/dma/acpi-dma.c index 16d0daa058a5..eed6bda01790 100644 --- a/drivers/dma/acpi-dma.c +++ b/drivers/dma/acpi-dma.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -72,7 +73,9 @@ static int acpi_dma_parse_resource_group(const struct acpi_csrt_group *grp, si = (const struct acpi_csrt_shared_info *)&grp[1]; /* Match device by MMIO and IRQ */ - if (si->mmio_base_low != mem || si->gsi_interrupt != irq) + if (si->mmio_base_low != lower_32_bits(mem) || + si->mmio_base_high != upper_32_bits(mem) || + si->gsi_interrupt != irq) return 0; dev_dbg(&adev->dev, "matches with %.4s%04X (rev %u)\n",