dma-debug: disable/enable irqs only once in device_dma_allocations
authorJoerg Roedel <joerg.roedel@amd.com>
Mon, 8 Jun 2009 13:46:19 +0000 (15:46 +0200)
committerJoerg Roedel <joerg.roedel@amd.com>
Mon, 8 Jun 2009 13:46:19 +0000 (15:46 +0200)
There is no need to disable/enable irqs on each loop iteration. Just
disable irqs for the whole time the loop runs.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
lib/dma-debug.c

index 24c4a2c5d61c0d9641046942424f45b723ffdebb..27b369da52c06e8e9dbf69a59b460f12f472885d 100644 (file)
@@ -649,15 +649,19 @@ static int device_dma_allocations(struct device *dev)
        unsigned long flags;
        int count = 0, i;
 
+       local_irq_save(flags);
+
        for (i = 0; i < HASH_SIZE; ++i) {
-               spin_lock_irqsave(&dma_entry_hash[i].lock, flags);
+               spin_lock(&dma_entry_hash[i].lock);
                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);
+               spin_unlock(&dma_entry_hash[i].lock);
        }
 
+       local_irq_restore(flags);
+
        return count;
 }