[NET]: Re-enable irqs before pushing pending DMA requests
authorShannon Nelson <shannon.nelson@intel.com>
Sun, 24 Jun 2007 06:09:23 +0000 (23:09 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 24 Jun 2007 06:09:23 +0000 (23:09 -0700)
This moves the local_irq_enable() call in net_rx_action() to before
calling the CONFIG_NET_DMA's dma_async_memcpy_issue_pending() rather
than after.  This shortens the irq disabled window and allows for DMA
drivers that need to do their own irq hold.

Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index 26090621ea6b6b6e5c5210a6cfaaa2915a135e5e..ee051bb398a02fb88bf4ca185534a477529acb8f 100644 (file)
@@ -2009,6 +2009,7 @@ static void net_rx_action(struct softirq_action *h)
                }
        }
 out:
+       local_irq_enable();
 #ifdef CONFIG_NET_DMA
        /*
         * There may not be any more sk_buffs coming right now, so push
@@ -2022,7 +2023,6 @@ out:
                rcu_read_unlock();
        }
 #endif
-       local_irq_enable();
        return;
 
 softnet_break: