diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-05-05 21:08:20 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-05-05 21:08:20 +0200 |
commit | da87bbd14299ef43848742c44dfe05fa1da5a21f (patch) | |
tree | ac28a7cf89fbcad8cc18f71c041c520d216ec091 /lib | |
parent | Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/... (diff) | |
parent | kernel/posix-cpu-timers.c: fix sparse warning (diff) | |
download | linux-da87bbd14299ef43848742c44dfe05fa1da5a21f.tar.xz linux-da87bbd14299ef43848742c44dfe05fa1da5a21f.zip |
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
kernel/posix-cpu-timers.c: fix sparse warning
dma-debug: remove broken dma memory leak detection for 2.6.30
locking: Documentation: lockdep-design.txt, fix note of state bits
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dma-debug.c | 53 |
1 files changed, 1 insertions, 52 deletions
diff --git a/lib/dma-debug.c b/lib/dma-debug.c index d3da7edc034f..69da09a085a1 100644 --- a/lib/dma-debug.c +++ b/lib/dma-debug.c @@ -400,60 +400,9 @@ out_err: return -ENOMEM; } -static int device_dma_allocations(struct device *dev) -{ - struct dma_debug_entry *entry; - unsigned long flags; - int count = 0, i; - - for (i = 0; i < HASH_SIZE; ++i) { - spin_lock_irqsave(&dma_entry_hash[i].lock, flags); - list_for_each_entry(entry, &dma_entry_hash[i].list, list) { - if (entry->dev == dev) - count += 1; - } - spin_unlock_irqrestore(&dma_entry_hash[i].lock, flags); - } - - return count; -} - -static int dma_debug_device_change(struct notifier_block *nb, - unsigned long action, void *data) -{ - struct device *dev = data; - int count; - - - switch (action) { - case BUS_NOTIFY_UNBIND_DRIVER: - count = device_dma_allocations(dev); - if (count == 0) - break; - err_printk(dev, NULL, "DMA-API: device driver has pending " - "DMA allocations while released from device " - "[count=%d]\n", count); - break; - default: - break; - } - - return 0; -} - void dma_debug_add_bus(struct bus_type *bus) { - struct notifier_block *nb; - - nb = kzalloc(sizeof(struct notifier_block), GFP_KERNEL); - if (nb == NULL) { - printk(KERN_ERR "dma_debug_add_bus: out of memory\n"); - return; - } - - nb->notifier_call = dma_debug_device_change; - - bus_register_notifier(bus, nb); + /* FIXME: register notifier */ } /* |