FS_ENET: TX stuff should use fep->tx_lock, instead of fep->lock.
Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
1a9e8549ef
commit
aa90f50321
|
@ -335,7 +335,7 @@ static void fs_enet_tx(struct net_device *dev)
|
||||||
int dirtyidx, do_wake, do_restart;
|
int dirtyidx, do_wake, do_restart;
|
||||||
u16 sc;
|
u16 sc;
|
||||||
|
|
||||||
spin_lock(&fep->lock);
|
spin_lock(&fep->tx_lock);
|
||||||
bdp = fep->dirty_tx;
|
bdp = fep->dirty_tx;
|
||||||
|
|
||||||
do_wake = do_restart = 0;
|
do_wake = do_restart = 0;
|
||||||
|
@ -415,7 +415,7 @@ static void fs_enet_tx(struct net_device *dev)
|
||||||
if (do_restart)
|
if (do_restart)
|
||||||
(*fep->ops->tx_restart)(dev);
|
(*fep->ops->tx_restart)(dev);
|
||||||
|
|
||||||
spin_unlock(&fep->lock);
|
spin_unlock(&fep->tx_lock);
|
||||||
|
|
||||||
if (do_wake)
|
if (do_wake)
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
|
@ -818,7 +818,9 @@ static int fs_enet_close(struct net_device *dev)
|
||||||
phy_stop(fep->phydev);
|
phy_stop(fep->phydev);
|
||||||
|
|
||||||
spin_lock_irqsave(&fep->lock, flags);
|
spin_lock_irqsave(&fep->lock, flags);
|
||||||
|
spin_lock(&fep->tx_lock);
|
||||||
(*fep->ops->stop)(dev);
|
(*fep->ops->stop)(dev);
|
||||||
|
spin_unlock(&fep->tx_lock);
|
||||||
spin_unlock_irqrestore(&fep->lock, flags);
|
spin_unlock_irqrestore(&fep->lock, flags);
|
||||||
|
|
||||||
/* release any irqs */
|
/* release any irqs */
|
||||||
|
|
Loading…
Reference in a new issue