OSDN Git Service

MIPS: dma-noncoherent: Remove bogus condition in dma_sync_phys()
authorPaul Burton <paul.burton@mips.com>
Fri, 15 Feb 2019 22:03:04 +0000 (22:03 +0000)
committerPaul Burton <paul.burton@mips.com>
Tue, 19 Feb 2019 20:17:43 +0000 (12:17 -0800)
commitd411da06abbe4c7cad0cc16b509d10b43da783a8
tree65bd55f58f21cbd450fe78e981b916b087c622a9
parent66b6572a142f2e9d7c4ffbcdaeb762d58664aa59
MIPS: dma-noncoherent: Remove bogus condition in dma_sync_phys()

Commit e36863a550da ("MIPS: HIGHMEM DMA on noncoherent MIPS32
processors") introduced code which:

  1) Calculates an offset within a page, by ANDing an address
     with ~PAGE_MASK.

  2) Checks whether that offset is >= PAGE_SIZE.

This check can never evaluate true, making the code it guards
unreachable. smatch spots bogus arithmetic resulting from the
impossible condition, resulting in the following warning:

  arch/mips/mm/dma-noncoherent.c:125
    dma_sync_phys() warn: mask and shift to zero

Fix this by removing the impossible to satisfy condition & the
unreachable code it guards.

Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
Cc: Christoph Hellwig <hch@lst.de>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Robin Murphy <robin.murphy@arm.com>
arch/mips/mm/dma-noncoherent.c