From: Steve Hodgson Date: Mon, 1 Sep 2008 11:48:20 +0000 (+0100) Subject: sfc: Do not call netif_{stop,wake}_queue() before register_netdev X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=dacccc741164edf95fb13dbf5eedb96fb94f7290;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git sfc: Do not call netif_{stop,wake}_queue() before register_netdev Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index d41a6e34da7d..be9382faf19d 100644 --- a/drivers/net/sfc/efx.c +++ b/drivers/net/sfc/efx.c @@ -1027,7 +1027,8 @@ static void efx_start_all(struct efx_nic *efx) /* Mark the port as enabled so port reconfigurations can start, then * restart the transmit interface early so the watchdog timer stops */ efx_start_port(efx); - efx_wake_queue(efx); + if (efx_dev_registered(efx)) + efx_wake_queue(efx); efx_for_each_channel(channel, efx) efx_start_channel(channel); @@ -1102,8 +1103,8 @@ static void efx_stop_all(struct efx_nic *efx) /* Stop the kernel transmit interface late, so the watchdog * timer isn't ticking over the flush */ - efx_stop_queue(efx); if (efx_dev_registered(efx)) { + efx_stop_queue(efx); netif_tx_lock_bh(efx->net_dev); netif_tx_unlock_bh(efx->net_dev); }