diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-07-07 19:22:49 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-07-08 00:21:21 -0400 |
commit | b49cd504c46dd729011049c91cf11ea72df01aef (patch) | |
tree | 6b0eab75a28a1b85fdee85aa49ef531467d4f30e /drivers/net/ethernet/freescale/fec_main.c | |
parent | 7a16807ce149d4e9cd53facca0cff6a4a647b6be (diff) |
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>
Diffstat (limited to 'drivers/net/ethernet/freescale/fec_main.c')
-rw-r--r-- | drivers/net/ethernet/freescale/fec_main.c | 4 |
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) | |||
834 | if (netif_running(ndev)) { | 834 | if (netif_running(ndev)) { |
835 | netif_device_detach(ndev); | 835 | netif_device_detach(ndev); |
836 | napi_disable(&fep->napi); | 836 | napi_disable(&fep->napi); |
837 | netif_stop_queue(ndev); | 837 | netif_tx_disable(ndev); |
838 | netif_tx_lock_bh(ndev); | 838 | netif_tx_lock_bh(ndev); |
839 | } | 839 | } |
840 | 840 | ||
@@ -2181,7 +2181,7 @@ fec_enet_close(struct net_device *ndev) | |||
2181 | /* Don't know what to do yet. */ | 2181 | /* Don't know what to do yet. */ |
2182 | napi_disable(&fep->napi); | 2182 | napi_disable(&fep->napi); |
2183 | fep->opened = 0; | 2183 | fep->opened = 0; |
2184 | netif_stop_queue(ndev); | 2184 | netif_tx_disable(ndev); |
2185 | fec_stop(ndev); | 2185 | fec_stop(ndev); |
2186 | 2186 | ||
2187 | if (fep->phy_dev) { | 2187 | if (fep->phy_dev) { |