From: Venkat Duvvuru <venkatkumar.duvv...@broadcom.com>

Currently, when default vnic change async event is received, the async
event handler will try to validate whether the parent fid that is coming
as part of the event data is of the control channel's fid.
This validation will fail in case of SR device because the parent
function of the vnic and the control channel function (Foster parent)
are different.

This patch fixes the problem by removing this parent fid validation as
it is not really needed in case of Wh+ also.

Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure")
Cc: sta...@dpdk.org

Signed-off-by: Venkat Duvvuru <venkatkumar.duvv...@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.ko...@broadcom.com>
---
 drivers/net/bnxt/bnxt_cpr.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_cpr.c b/drivers/net/bnxt/bnxt_cpr.c
index 5492394..91d1ffe 100644
--- a/drivers/net/bnxt/bnxt_cpr.c
+++ b/drivers/net/bnxt/bnxt_cpr.c
@@ -50,7 +50,7 @@ static void
 bnxt_process_default_vnic_change(struct bnxt *bp,
                                 struct hwrm_async_event_cmpl *async_cmp)
 {
-       uint16_t fid, vnic_state, parent_id, vf_fid, vf_id;
+       uint16_t vnic_state, vf_fid, vf_id;
        struct bnxt_representor *vf_rep_bp;
        struct rte_eth_dev *eth_dev;
        bool vfr_found = false;
@@ -67,10 +67,7 @@ bnxt_process_default_vnic_change(struct bnxt *bp,
        if (vnic_state != BNXT_DEFAULT_VNIC_ALLOC)
                return;
 
-       parent_id = (event_data & BNXT_DEFAULT_VNIC_CHANGE_PF_ID_MASK) >>
-                       BNXT_DEFAULT_VNIC_CHANGE_PF_ID_SFT;
-       fid = BNXT_PF(bp) ? bp->fw_fid : bp->parent->fid;
-       if (parent_id != fid || !bp->rep_info)
+       if (!bp->rep_info)
                return;
 
        vf_fid = (event_data & BNXT_DEFAULT_VNIC_CHANGE_VF_ID_MASK) >>
-- 
2.7.4

Reply via email to