summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2014-07-08 00:22:49 +0100
committerDavid S. Miller <davem@davemloft.net>2014-07-07 21:21:21 -0700
commitb49cd504c46dd729011049c91cf11ea72df01aef (patch)
tree6b0eab75a28a1b85fdee85aa49ef531467d4f30e
parent7a16807ce149d4e9cd53facca0cff6a4a647b6be (diff)
downloadlinux-rpi3-b49cd504c46dd729011049c91cf11ea72df01aef.tar.gz
linux-rpi3-b49cd504c46dd729011049c91cf11ea72df01aef.tar.bz2
linux-rpi3-b49cd504c46dd729011049c91cf11ea72df01aef.zip
net: fec: use netif_tx_disable() rather than netif_stop_queue()
We use netif_stop_queue() in several places where we want to ensure that the start_xmit function is not running. netif_stop_queue() is not sufficient to achieve that - it merely sets a flag to indicate that the transmit queue(s) should not be run. netif_tx_disable() gives this guarantee, since it takes the transmit queue lock while marking the queue stopped. This will wait for the transmit function to complete before returning. Acked-by: Fugang Duan <B38611@freescale.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/freescale/fec_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index 4e695b742030..cb9ced738607 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -834,7 +834,7 @@ fec_restart(struct net_device *ndev, int duplex)
if (netif_running(ndev)) {
netif_device_detach(ndev);
napi_disable(&fep->napi);
- netif_stop_queue(ndev);
+ netif_tx_disable(ndev);
netif_tx_lock_bh(ndev);
}
@@ -2181,7 +2181,7 @@ fec_enet_close(struct net_device *ndev)
/* Don't know what to do yet. */
napi_disable(&fep->napi);
fep->opened = 0;
- netif_stop_queue(ndev);
+ netif_tx_disable(ndev);
fec_stop(ndev);
if (fep->phy_dev) {