octeontx2-pf: Wait till detach_resources msg is complete
authorSubbaraya Sundeep <sbhatta@marvell.com>
Mon, 18 Mar 2024 09:29:55 +0000 (14:59 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Mar 2024 10:49:07 +0000 (10:49 +0000)
During VF driver remove, a message is sent to detach VF
resources to PF but VF is not waiting until message is
complete. Also mailbox interrupts need to be turned off
after the detach resource message is complete. This patch
fixes that problem.

Fixes: 05fcc9e08955 ("octeontx2-pf: Attach NIX and NPA block LFs")
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c

index 02d0b70..a85ac03 100644 (file)
@@ -1592,7 +1592,7 @@ int otx2_detach_resources(struct mbox *mbox)
        detach->partial = false;
 
        /* Send detach request to AF */
-       otx2_mbox_msg_send(&mbox->mbox, 0);
+       otx2_sync_mbox_msg(mbox);
        mutex_unlock(&mbox->lock);
        return 0;
 }
index ced456c..cf0aa16 100644 (file)
@@ -775,8 +775,8 @@ static void otx2vf_remove(struct pci_dev *pdev)
        otx2_mcam_flow_del(vf);
        otx2_shutdown_tc(vf);
        otx2_shutdown_qos(vf);
-       otx2vf_disable_mbox_intr(vf);
        otx2_detach_resources(&vf->mbox);
+       otx2vf_disable_mbox_intr(vf);
        free_percpu(vf->hw.lmt_info);
        if (test_bit(CN10K_LMTST, &vf->hw.cap_flag))
                qmem_free(vf->dev, vf->dync_lmt);