summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/rx.c
diff options
context:
space:
mode:
authorBen Hutchings2013-05-27 17:52:54 +0200
committerBen Hutchings2013-08-21 20:49:23 +0200
commite42c3d85af629697699c89aecba481527a1da898 (patch)
tree7431ccaddc601beb668969d26cb1d07f6d72a264 /drivers/net/ethernet/sfc/rx.c
parentsfc: Remove bogus call to efx_release_tx_buffers() (diff)
downloadkernel-qcow2-linux-e42c3d85af629697699c89aecba481527a1da898.tar.gz
kernel-qcow2-linux-e42c3d85af629697699c89aecba481527a1da898.tar.xz
kernel-qcow2-linux-e42c3d85af629697699c89aecba481527a1da898.zip
sfc: Refactor queue teardown sequence to allow for EF10 flush behaviour
Currently efx_stop_datapath() will try to flush our DMA queues (if DMA is enabled), then finalise software and hardware state for each queue. However, for EF10 we must ask the MC to finalise each queue, which implicitly starts flushing it, and then wait for the flush events. We therefore need to delegate more of this to the NIC type. Combine all the hardware operations into a new NIC-type operation efx_nic_type::fini_dmaq, and call this before tearing down the software state and buffers for all the DMA queues. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/rx.c')
-rw-r--r--drivers/net/ethernet/sfc/rx.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c
index 8b482dee4eb0..f2b78cd2baf8 100644
--- a/drivers/net/ethernet/sfc/rx.c
+++ b/drivers/net/ethernet/sfc/rx.c
@@ -757,7 +757,6 @@ void efx_fini_rx_queue(struct efx_rx_queue *rx_queue)
"shutting down RX queue %d\n", efx_rx_queue_index(rx_queue));
del_timer_sync(&rx_queue->slow_fill);
- efx_nic_fini_rx(rx_queue);
/* Release RX buffers from the current read ptr to the write ptr */
if (rx_queue->buffer) {