mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 05:32:00 +00:00
mv643xx_eth: fix inconsistent lock semantics
Nicolas Pitre noted that mv643xx_eth_poll was incorrectly using non-IRQ-safe locks while checking whether to wake up the netdevice's transmit queue. Convert the locking to *_irq() variants, since we are running from softirq context where interrupts are enabled. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
This commit is contained in:
parent
92c70f27d2
commit
8e0b1bf6ac
@ -634,9 +634,9 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget)
|
||||
txq_reclaim(mp->txq + i, 0);
|
||||
|
||||
if (netif_carrier_ok(mp->dev)) {
|
||||
spin_lock(&mp->lock);
|
||||
spin_lock_irq(&mp->lock);
|
||||
__txq_maybe_wake(mp->txq + mp->txq_primary);
|
||||
spin_unlock(&mp->lock);
|
||||
spin_unlock_irq(&mp->lock);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user