Commit b11c8173 authored by Ravi Gunasekaran's avatar Ravi Gunasekaran Committed by Jakub Kicinski

net: hsr: hsr_slave: Fix the promiscuous mode in offload mode

commit e748d0fd ("net: hsr: Disable promiscuous mode in
offload mode") disables promiscuous mode of slave devices
while creating an HSR interface. But while deleting the
HSR interface, it does not take care of it. It decreases the
promiscuous mode count, which eventually enables promiscuous
mode on the slave devices when creating HSR interface again.

Fix this by not decrementing the promiscuous mode count while
deleting the HSR interface when offload is enabled.

Fixes: e748d0fd ("net: hsr: Disable promiscuous mode in offload mode")
Signed-off-by: default avatarRavi Gunasekaran <r-gunasekaran@ti.com>
Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20240322100447.27615-1-r-gunasekaran@ti.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 3a38a829
...@@ -220,6 +220,7 @@ void hsr_del_port(struct hsr_port *port) ...@@ -220,6 +220,7 @@ void hsr_del_port(struct hsr_port *port)
netdev_update_features(master->dev); netdev_update_features(master->dev);
dev_set_mtu(master->dev, hsr_get_max_mtu(hsr)); dev_set_mtu(master->dev, hsr_get_max_mtu(hsr));
netdev_rx_handler_unregister(port->dev); netdev_rx_handler_unregister(port->dev);
if (!port->hsr->fwd_offloaded)
dev_set_promiscuity(port->dev, -1); dev_set_promiscuity(port->dev, -1);
netdev_upper_dev_unlink(port->dev, master->dev); netdev_upper_dev_unlink(port->dev, master->dev);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment