aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/rx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/sfc/rx.c')
-rw-r--r--drivers/net/ethernet/sfc/rx.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c
index 6af9cfda50fb..8b482dee4eb0 100644
--- a/drivers/net/ethernet/sfc/rx.c
+++ b/drivers/net/ethernet/sfc/rx.c
@@ -326,6 +326,9 @@ void efx_fast_push_rx_descriptors(struct efx_rx_queue *rx_queue)
326 unsigned int fill_level, batch_size; 326 unsigned int fill_level, batch_size;
327 int space, rc = 0; 327 int space, rc = 0;
328 328
329 if (!rx_queue->refill_enabled)
330 return;
331
329 /* Calculate current fill level, and exit if we don't need to fill */ 332 /* Calculate current fill level, and exit if we don't need to fill */
330 fill_level = (rx_queue->added_count - rx_queue->removed_count); 333 fill_level = (rx_queue->added_count - rx_queue->removed_count);
331 EFX_BUG_ON_PARANOID(fill_level > rx_queue->efx->rxq_entries); 334 EFX_BUG_ON_PARANOID(fill_level > rx_queue->efx->rxq_entries);
@@ -738,9 +741,9 @@ void efx_init_rx_queue(struct efx_rx_queue *rx_queue)
738 741
739 rx_queue->max_fill = max_fill; 742 rx_queue->max_fill = max_fill;
740 rx_queue->fast_fill_trigger = trigger; 743 rx_queue->fast_fill_trigger = trigger;
744 rx_queue->refill_enabled = true;
741 745
742 /* Set up RX descriptor ring */ 746 /* Set up RX descriptor ring */
743 rx_queue->enabled = true;
744 efx_nic_init_rx(rx_queue); 747 efx_nic_init_rx(rx_queue);
745} 748}
746 749
@@ -753,9 +756,6 @@ void efx_fini_rx_queue(struct efx_rx_queue *rx_queue)
753 netif_dbg(rx_queue->efx, drv, rx_queue->efx->net_dev, 756 netif_dbg(rx_queue->efx, drv, rx_queue->efx->net_dev,
754 "shutting down RX queue %d\n", efx_rx_queue_index(rx_queue)); 757 "shutting down RX queue %d\n", efx_rx_queue_index(rx_queue));
755 758
756 /* A flush failure might have left rx_queue->enabled */
757 rx_queue->enabled = false;
758
759 del_timer_sync(&rx_queue->slow_fill); 759 del_timer_sync(&rx_queue->slow_fill);
760 efx_nic_fini_rx(rx_queue); 760 efx_nic_fini_rx(rx_queue);
761 761