public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] lib/dma-debug.c: fix __hash_bucket_find
@ 2012-10-18 15:38 Ming Lei
  2012-10-18 15:53 ` Ming Lei
  0 siblings, 1 reply; 4+ messages in thread
From: Ming Lei @ 2012-10-18 15:38 UTC (permalink / raw)
  To: linux-kernel
  Cc: Ming Lei, Joerg Roedel, Shuah Khan, Paul Gortmaker, Andrew Morton,
	Jakub Kicinski

If there is only one match, the unique matched entry should be returned.

Without the fix, the commit f62566214fe31c9f9b3218a42f1b19e6a9e6844a

	dma-debug: new interfaces to debug dma mapping errors

can't work reliably because only device and dma_addr are passed to
dma_mapping_error().

Cc: Joerg Roedel <joerg.roedel@amd.com>
Cc: Shuah Khan <shuah.khan@hp.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jakub Kicinski <kubakici@wp.pl>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
---
 lib/dma-debug.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/dma-debug.c b/lib/dma-debug.c
index 94aa94e..be132f3 100644
--- a/lib/dma-debug.c
+++ b/lib/dma-debug.c
@@ -283,6 +283,10 @@ static struct dma_debug_entry *__hash_bucket_find(struct hash_bucket *bucket,
 		if (!match(ref, entry))
 			continue;
 
+		/* record the first match */
+		if (!ret)
+			ret = entry;
+
 		/*
 		 * Some drivers map the same physical address multiple
 		 * times. Without a hardware IOMMU this results in the
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-10-19  1:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-18 15:38 [PATCH] lib/dma-debug.c: fix __hash_bucket_find Ming Lei
2012-10-18 15:53 ` Ming Lei
2012-10-18 17:20   ` Shuah Khan
2012-10-19  1:13     ` Ming Lei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox