diff options
-rw-r--r-- | drivers/net/sfc/efx.c | 2 | ||||
-rw-r--r-- | drivers/net/sfc/selftest.c | 2 | ||||
-rw-r--r-- | drivers/net/sfc/tx.c | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index d890679e4c4d..0dc800b5a4ea 100644 --- a/drivers/net/sfc/efx.c +++ b/drivers/net/sfc/efx.c | |||
@@ -1436,7 +1436,7 @@ static void efx_start_all(struct efx_nic *efx) | |||
1436 | * restart the transmit interface early so the watchdog timer stops */ | 1436 | * restart the transmit interface early so the watchdog timer stops */ |
1437 | efx_start_port(efx); | 1437 | efx_start_port(efx); |
1438 | 1438 | ||
1439 | if (efx_dev_registered(efx)) | 1439 | if (efx_dev_registered(efx) && !efx->port_inhibited) |
1440 | netif_tx_wake_all_queues(efx->net_dev); | 1440 | netif_tx_wake_all_queues(efx->net_dev); |
1441 | 1441 | ||
1442 | efx_for_each_channel(channel, efx) | 1442 | efx_for_each_channel(channel, efx) |
diff --git a/drivers/net/sfc/selftest.c b/drivers/net/sfc/selftest.c index a0f49b348d62..845808408924 100644 --- a/drivers/net/sfc/selftest.c +++ b/drivers/net/sfc/selftest.c | |||
@@ -770,6 +770,8 @@ int efx_selftest(struct efx_nic *efx, struct efx_self_tests *tests, | |||
770 | __efx_reconfigure_port(efx); | 770 | __efx_reconfigure_port(efx); |
771 | mutex_unlock(&efx->mac_lock); | 771 | mutex_unlock(&efx->mac_lock); |
772 | 772 | ||
773 | netif_tx_wake_all_queues(efx->net_dev); | ||
774 | |||
773 | return rc_test; | 775 | return rc_test; |
774 | } | 776 | } |
775 | 777 | ||
diff --git a/drivers/net/sfc/tx.c b/drivers/net/sfc/tx.c index 139801908217..d2c85dfdf3bf 100644 --- a/drivers/net/sfc/tx.c +++ b/drivers/net/sfc/tx.c | |||
@@ -435,7 +435,8 @@ void efx_xmit_done(struct efx_tx_queue *tx_queue, unsigned int index) | |||
435 | * queue state. */ | 435 | * queue state. */ |
436 | smp_mb(); | 436 | smp_mb(); |
437 | if (unlikely(netif_tx_queue_stopped(tx_queue->core_txq)) && | 437 | if (unlikely(netif_tx_queue_stopped(tx_queue->core_txq)) && |
438 | likely(efx->port_enabled)) { | 438 | likely(efx->port_enabled) && |
439 | likely(!efx->port_inhibited)) { | ||
439 | fill_level = tx_queue->insert_count - tx_queue->read_count; | 440 | fill_level = tx_queue->insert_count - tx_queue->read_count; |
440 | if (fill_level < EFX_TXQ_THRESHOLD(efx)) { | 441 | if (fill_level < EFX_TXQ_THRESHOLD(efx)) { |
441 | EFX_BUG_ON_PARANOID(!efx_dev_registered(efx)); | 442 | EFX_BUG_ON_PARANOID(!efx_dev_registered(efx)); |