>From: Abhimanyu Saini <absa...@amd.com> > >The used/avail queue indexes are not bound by queue size, because the >descriptor entry index is calculated by a simple modulo between queue index >and queue_size > >So, do not check initial used and avail queue indexes against queue size >because it is possible for these indexes to be greater than queue size in the >following cases: >1) The queue is created to be migrated into, or >2) The client issues a qstop/qstart after running datapath > >Fixes: 4dda72dbdeab3 ("common/sfc_efx/base: add base virtio support for >vDPA") >Cc: sta...@dpdk.org > >Signed-off-by: Abhimanyu Saini <absa...@amd.com> >--- > drivers/common/sfc_efx/base/rhead_virtio.c | 12 +----------- > 1 file changed, 1 insertion(+), 11 deletions(-) > >diff --git a/drivers/common/sfc_efx/base/rhead_virtio.c >b/drivers/common/sfc_efx/base/rhead_virtio.c >index 335cb74..7f08717 100644 >--- a/drivers/common/sfc_efx/base/rhead_virtio.c >+++ b/drivers/common/sfc_efx/base/rhead_virtio.c >@@ -47,14 +47,6 @@ > goto fail2; > } > >- if (evvdp != NULL) { >- if ((evvdp->evvd_vq_cidx > evvcp->evvc_vq_size) || >- (evvdp->evvd_vq_pidx > evvcp->evvc_vq_size)) { >- rc = EINVAL; >- goto fail3; >- } >- } >- > req.emr_cmd = MC_CMD_VIRTIO_INIT_QUEUE; > req.emr_in_buf = payload; > req.emr_in_length = MC_CMD_VIRTIO_INIT_QUEUE_REQ_LEN; @@ - >116,15 +108,13 @@ > > if (req.emr_rc != 0) { > rc = req.emr_rc; >- goto fail4; >+ goto fail3; > } > > evvp->evv_vi_index = vi_index; > > return (0); > >-fail4: >- EFSYS_PROBE(fail4); > fail3: > EFSYS_PROBE(fail3); > fail2: >-- >1.8.3.1
Acked-by: Vijay Srivastava <vij...@amd.com>