Patch "net: lan966x: Fix when a port's upper is changed." has been added to the 5.17-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

    net: lan966x: Fix when a port's upper is changed.

to the 5.17-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:
     net-lan966x-fix-when-a-port-s-upper-is-changed.patch
and it can be found in the queue-5.17 subdirectory.

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



commit 4a5530dcf8466b4475f202d8c05a6e4332c9210c
Author: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
Date:   Sat Apr 9 20:41:42 2022 +0200

    net: lan966x: Fix when a port's upper is changed.
    
    [ Upstream commit d7a947d289dc205fc717c004dcebe33b15305afd ]
    
    On lan966x it is not allowed to have foreign interfaces under a bridge
    which already contains lan966x ports. So when a port leaves the bridge
    it would call switchdev_bridge_port_unoffload which eventually will
    notify the other ports that bridge left the vlan group but that is not
    true because the bridge is still part of the vlan group.
    
    Therefore when a port leaves the bridge, stop generating replays because
    already the HW cleared after itself and the other ports don't need to do
    anything else.
    
    Fixes: cf2f60897e921e ("net: lan966x: Add support to offload the forwarding.")
    Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c b/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
index 7de55f6a4da8..3c987fd6b9e2 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
@@ -261,8 +261,7 @@ static int lan966x_port_prechangeupper(struct net_device *dev,
 
 	if (netif_is_bridge_master(info->upper_dev) && !info->linking)
 		switchdev_bridge_port_unoffload(port->dev, port,
-						&lan966x_switchdev_nb,
-						&lan966x_switchdev_blocking_nb);
+						NULL, NULL);
 
 	return NOTIFY_DONE;
 }



[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