diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2009-03-18 21:39:31 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-19 03:39:48 -0400 |
commit | 35d40952dba7b0689a16bd1463fb7698f8dbe639 (patch) | |
tree | 54020722e333174009f7f588b3960dd32026b03a /lib | |
parent | 84be58d4601c86306cd939ebf58a9b90989883a4 (diff) |
dma-debug: warn of unmapping an invalid dma address
Impact: extend DMA-debug checks
Calling dma_unmap families against an invalid dma address should be a
bug.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Joerg Roedel <joerg.roedel@amd.com>
LKML-Reference: <20090319103743N.fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dma-debug.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/dma-debug.c b/lib/dma-debug.c index 9a350b414a50..f9e6d38b4b34 100644 --- a/lib/dma-debug.c +++ b/lib/dma-debug.c | |||
@@ -531,8 +531,11 @@ static void check_unmap(struct dma_debug_entry *ref) | |||
531 | struct hash_bucket *bucket; | 531 | struct hash_bucket *bucket; |
532 | unsigned long flags; | 532 | unsigned long flags; |
533 | 533 | ||
534 | if (dma_mapping_error(ref->dev, ref->dev_addr)) | 534 | if (dma_mapping_error(ref->dev, ref->dev_addr)) { |
535 | err_printk(ref->dev, NULL, "DMA-API: device driver tries " | ||
536 | "to free an invalid DMA memory address\n"); | ||
535 | return; | 537 | return; |
538 | } | ||
536 | 539 | ||
537 | bucket = get_hash_bucket(ref, &flags); | 540 | bucket = get_hash_bucket(ref, &flags); |
538 | entry = hash_bucket_find(bucket, ref); | 541 | entry = hash_bucket_find(bucket, ref); |