summaryrefslogtreecommitdiff
path: root/lib/find_next_bit.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2014-01-29 14:05:53 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-29 16:22:40 -0800
commit59f2e7df574c78e952d79435de3f4867349403aa (patch)
treee03333701756e783f4a5085c8df2777651900970 /lib/find_next_bit.c
parentf544e14f3e765b5241d7f234fee677506b8ce07f (diff)
dma-debug: fix overlap detection
Commit 0abdd7a81b7e ("dma-debug: introduce debug_dma_assert_idle()") was reworked to expand the overlap counter to the full range expressable by 3 tag bits, but it has a thinko in treating the overlap counter as a pure reference count for the entry. Instead of deleting when the reference-count drops to zero, we need to delete when the overlap-count drops below zero. Also, when detecting overflow we can just test the overlap-count > MAX rather than applying special meaning to 0. Regression report available here: http://marc.info/?l=linux-netdev&m=139073373932386&w=2 This patch, now tested on the original net_dma case, sees the expected handful of reports before the eventual data corruption occurs. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Reported-by: Sander Eikelenboom <linux@eikelenboom.it> Cc: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/find_next_bit.c')
0 files changed, 0 insertions, 0 deletions