Patch "bnxt_en: Query default VLAN before VNIC setup on a VF" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    bnxt_en: Query default VLAN before VNIC setup on a VF

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     bnxt_en-query-default-vlan-before-vnic-setup-on-a-vf.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 38f31ab3f54d30eab55b03e40bd97340f02cc9db
Author: Somnath Kotur <somnath.kotur@xxxxxxxxxxxx>
Date:   Wed Jun 7 00:54:06 2023 -0700

    bnxt_en: Query default VLAN before VNIC setup on a VF
    
    [ Upstream commit 1a9e4f501bc6ff1b6ecb60df54fbf2b54db43bfe ]
    
    We need to call bnxt_hwrm_func_qcfg() on a VF to query the default
    VLAN that may be setup by the PF.  If a default VLAN is enabled,
    the VF cannot support VLAN acceleration on the receive side and
    the VNIC must be setup to strip out the default VLAN tag.  If a
    default VLAN is not enabled, the VF can support VLAN acceleration
    on the receive side.  The VNIC should be set up to strip or not
    strip the VLAN based on the RX VLAN acceleration setting.
    
    Without this call to determine the default VLAN before calling
    bnxt_setup_vnic(), the VNIC may not be set up correctly.  For
    example, bnxt_setup_vnic() may set up to strip the VLAN tag based
    on stale default VLAN information.  If RX VLAN acceleration is
    not enabled, the VLAN tag will be incorrectly stripped and the
    RX data path will not work correctly.
    
    Fixes: cf6645f8ebc6 ("bnxt_en: Add function for VF driver to query default VLAN.")
    Reviewed-by: Pavan Chebbi <pavan.chebbi@xxxxxxxxxxxx>
    Signed-off-by: Somnath Kotur <somnath.kotur@xxxxxxxxxxxx>
    Signed-off-by: Michael Chan <michael.chan@xxxxxxxxxxxx>
    Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index e3e5a427222f6..93c3b8316c46a 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -8808,6 +8808,9 @@ static int bnxt_init_chip(struct bnxt *bp, bool irq_re_init)
 		goto err_out;
 	}
 
+	if (BNXT_VF(bp))
+		bnxt_hwrm_func_qcfg(bp);
+
 	rc = bnxt_setup_vnic(bp, 0);
 	if (rc)
 		goto err_out;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux