|
@@ -1033,10 +1033,8 @@ static netdev_tx_t gem_start_xmit(struct sk_buff *skb,
|
|
|
(csum_stuff_off << 21));
|
|
|
}
|
|
|
|
|
|
- local_irq_save(flags);
|
|
|
- if (!spin_trylock(&gp->tx_lock)) {
|
|
|
+ if (!spin_trylock_irqsave(&gp->tx_lock, flags)) {
|
|
|
/* Tell upper layer to requeue */
|
|
|
- local_irq_restore(flags);
|
|
|
return NETDEV_TX_LOCKED;
|
|
|
}
|
|
|
/* We raced with gem_do_stop() */
|