dmaengine: jz4780: Fix an endian bug in IRQ handler
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 24 Jun 2019 13:49:40 +0000 (16:49 +0300)
committerVinod Koul <vkoul@kernel.org>
Fri, 5 Jul 2019 07:15:56 +0000 (12:45 +0530)
commit4c89cc73d1da42ae48b5c5dfbfd12304d0b86786
tree624c7e0af9e3bbd37d11f68c5d7fea7d4a6b946b
parentd1fdb6d8f6a4109a4263176c84b899076a5f8008
dmaengine: jz4780: Fix an endian bug in IRQ handler

The "pending" variable was a u32 but we cast it to an unsigned long
pointer when we do the for_each_set_bit() loop.  The problem is that on
big endian 64bit systems that results in an out of bounds read.

Fixes: 4e4106f5e942 ("dmaengine: jz4780: Fix transfers being ACKed too soon")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dma-jz4780.c