aboutsummaryrefslogtreecommitdiff
path: root/lib/string_helpers.c
diff options
context:
space:
mode:
authorRussell King <[email protected]>2013-01-19 11:05:57 +0000
committerRussell King <[email protected]>2013-01-19 11:05:57 +0000
commit15653371c67c3fbe359ae37b720639dd4c7b42c5 (patch)
treee92cba77b7796993d2cce4af22b9022196c9211a /lib/string_helpers.c
parent6f16f4998f98e42e3f2dedf663cfb691ff0324af (diff)
ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with sparsemem
Subhash Jadavani reported this partial backtrace: Now consider this call stack from MMC block driver (this is on the ARMv7 based board): [<c001b50c>] (v7_dma_inv_range+0x30/0x48) from [<c0017b8c>] (dma_cache_maint_page+0x1c4/0x24c) [<c0017b8c>] (dma_cache_maint_page+0x1c4/0x24c) from [<c0017c28>] (___dma_page_cpu_to_dev+0x14/0x1c) [<c0017c28>] (___dma_page_cpu_to_dev+0x14/0x1c) from [<c0017ff8>] (dma_map_sg+0x3c/0x114) This is caused by incrementing the struct page pointer, and running off the end of the sparsemem page array. Fix this by incrementing by pfn instead, and convert the pfn to a struct page. Cc: <[email protected]> Suggested-by: James Bottomley <[email protected]> Tested-by: Subhash Jadavani <[email protected]> Signed-off-by: Russell King <[email protected]>
Diffstat (limited to 'lib/string_helpers.c')
0 files changed, 0 insertions, 0 deletions