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:
parent
31d76442f7
commit
f50393fe86
@ -3378,12 +3378,9 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
|
|||||||
(adapter->hw.mac_type == e1000_82573))
|
(adapter->hw.mac_type == e1000_82573))
|
||||||
e1000_transfer_dhcp_info(adapter, skb);
|
e1000_transfer_dhcp_info(adapter, skb);
|
||||||
|
|
||||||
local_irq_save(flags);
|
if (!spin_trylock_irqsave(&tx_ring->tx_lock, flags))
|
||||||
if (!spin_trylock(&tx_ring->tx_lock)) {
|
|
||||||
/* Collision - tell upper layer to requeue */
|
/* Collision - tell upper layer to requeue */
|
||||||
local_irq_restore(flags);
|
|
||||||
return NETDEV_TX_LOCKED;
|
return NETDEV_TX_LOCKED;
|
||||||
}
|
|
||||||
|
|
||||||
/* need: count + 2 desc gap to keep tail from touching
|
/* need: count + 2 desc gap to keep tail from touching
|
||||||
* head, otherwise try next time */
|
* head, otherwise try next time */
|
||||||
|
Loading…
Reference in New Issue
Block a user