From a8bcd99de4a2cf5d52ea24506dbca20a26d5ba0b Mon Sep 17 00:00:00 2001 From: Igor Romanov Date: Thu, 5 Mar 2020 15:48:55 +0000 Subject: [PATCH] net/sfc: fix Rx queue start failure path Call correct cleanup operations on failure in Rx queue start function. Fixes: df1bfde4ff0d ("net/sfc: factor out libefx-based Rx datapath") Fixes: 28944ac098aa ("net/sfc: implement Rx queue start and stop operations") Cc: stable@dpdk.org Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko --- drivers/net/sfc/sfc_rx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c index f589ece757..891709fd04 100644 --- a/drivers/net/sfc/sfc_rx.c +++ b/drivers/net/sfc/sfc_rx.c @@ -822,10 +822,12 @@ sfc_rx_qstart(struct sfc_adapter *sa, unsigned int sw_index) return 0; fail_mac_filter_default_rxq_set: + sfc_rx_qflush(sa, sw_index); sa->priv.dp_rx->qstop(rxq_info->dp, &rxq->evq->read_ptr); + rxq_info->state = SFC_RXQ_INITIALIZED; fail_dp_qstart: - sfc_rx_qflush(sa, sw_index); + efx_rx_qdestroy(rxq->common); fail_rx_qcreate: fail_bad_contig_block_size: -- 2.20.1