Просмотр исходного кода

[NET]: Re-enable irqs before pushing pending DMA requests

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>
Shannon Nelson 18 лет назад
Родитель
Сommit
515e06c455
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      net/core/dev.c

+ 1 - 1
net/core/dev.c

@@ -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 @@ static void net_rx_action(struct softirq_action *h)
 		rcu_read_unlock();
 	}
 #endif
-	local_irq_enable();
 	return;
 
 softnet_break: