>When eth port queue is removed from Rx adapter using >rte_event_eth_rx_adapter_queue_del() it incorrectly >initializes CQ context instead of modifying it. This >might lead to a crash when CQ context is modified >as a part of rte_eth_dev_stop() sequence as CQ will >hold invalid entries. This is responsibility of an >application to call rte_event_eth_rx_adapter_queue_del() >to remove eth port queue from Rx adapter in tear down >sequence. > >Fixes: 37720fc1fba8 ("event/octeontx2: add Rx adapter") >Cc: sta...@dpdk.org > >Signed-off-by: Lukasz Bartosik <lbarto...@marvell.com>
Acked-by: Pavan Nikhilesh <pbhagavat...@marvell.com> >--- > drivers/event/octeontx2/otx2_evdev_adptr.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > >diff --git a/drivers/event/octeontx2/otx2_evdev_adptr.c >b/drivers/event/octeontx2/otx2_evdev_adptr.c >index 233cba2..8bdcfa3 100644 >--- a/drivers/event/octeontx2/otx2_evdev_adptr.c >+++ b/drivers/event/octeontx2/otx2_evdev_adptr.c >@@ -133,7 +133,7 @@ sso_rxq_disable(struct otx2_eth_dev *dev, >uint16_t qid) > aq = otx2_mbox_alloc_msg_nix_aq_enq(mbox); > aq->qidx = qid; > aq->ctype = NIX_AQ_CTYPE_CQ; >- aq->op = NIX_AQ_INSTOP_INIT; >+ aq->op = NIX_AQ_INSTOP_WRITE; > > aq->cq.ena = 1; > aq->cq.caching = 1; >@@ -144,7 +144,7 @@ sso_rxq_disable(struct otx2_eth_dev *dev, >uint16_t qid) > > rc = otx2_mbox_process(mbox); > if (rc < 0) { >- otx2_err("Failed to init cq context"); >+ otx2_err("Failed to enable cq context"); > goto fail; > } > >-- >2.7.4