e1000: FIX: Stop raw interrupts disabled nag from RT
Current e1000_xmit_frame spews raw interrupt disabled nag messages when used with RT kernel patches. This patch uses spin_trylock_irqsave, which allows RT patches to properly manage the irq semantics. Signed-off-by: Mark Huth <mhuth@mvista.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Родитель
31d76442f7
Коммит
f50393fe86
|
@ -3378,12 +3378,9 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
|
|||
(adapter->hw.mac_type == e1000_82573))
|
||||
e1000_transfer_dhcp_info(adapter, skb);
|
||||
|
||||
local_irq_save(flags);
|
||||
if (!spin_trylock(&tx_ring->tx_lock)) {
|
||||
if (!spin_trylock_irqsave(&tx_ring->tx_lock, flags))
|
||||
/* Collision - tell upper layer to requeue */
|
||||
local_irq_restore(flags);
|
||||
return NETDEV_TX_LOCKED;
|
||||
}
|
||||
|
||||
/* need: count + 2 desc gap to keep tail from touching
|
||||
* head, otherwise try next time */
|
||||
|
|
Загрузка…
Ссылка в новой задаче