diff options
Diffstat (limited to 'drivers/net/sfc/efx.c')
-rw-r--r-- | drivers/net/sfc/efx.c | 5 |
1 files changed, 3 insertions, 2 deletions
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) | |||
1027 | /* Mark the port as enabled so port reconfigurations can start, then | 1027 | /* Mark the port as enabled so port reconfigurations can start, then |
1028 | * restart the transmit interface early so the watchdog timer stops */ | 1028 | * restart the transmit interface early so the watchdog timer stops */ |
1029 | efx_start_port(efx); | 1029 | efx_start_port(efx); |
1030 | efx_wake_queue(efx); | 1030 | if (efx_dev_registered(efx)) |
1031 | efx_wake_queue(efx); | ||
1031 | 1032 | ||
1032 | efx_for_each_channel(channel, efx) | 1033 | efx_for_each_channel(channel, efx) |
1033 | efx_start_channel(channel); | 1034 | efx_start_channel(channel); |
@@ -1102,8 +1103,8 @@ static void efx_stop_all(struct efx_nic *efx) | |||
1102 | 1103 | ||
1103 | /* Stop the kernel transmit interface late, so the watchdog | 1104 | /* Stop the kernel transmit interface late, so the watchdog |
1104 | * timer isn't ticking over the flush */ | 1105 | * timer isn't ticking over the flush */ |
1105 | efx_stop_queue(efx); | ||
1106 | if (efx_dev_registered(efx)) { | 1106 | if (efx_dev_registered(efx)) { |
1107 | efx_stop_queue(efx); | ||
1107 | netif_tx_lock_bh(efx->net_dev); | 1108 | netif_tx_lock_bh(efx->net_dev); |
1108 | netif_tx_unlock_bh(efx->net_dev); | 1109 | netif_tx_unlock_bh(efx->net_dev); |
1109 | } | 1110 | } |