aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
authorPaolo Abeni <[email protected]>2022-09-08 16:34:54 +0000
committerPaolo Abeni <[email protected]>2022-09-08 16:38:30 +0000
commit9f8f1933dce555d3c246f447f54fca8de8889da9 (patch)
treedc447d0174473de8385d47eb8aedc058a336e4a9 /net/ipv6/addrconf.c
parentnet: sparx5: fix function return type to match actual type (diff)
parentMerge tag 'net-6.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netd... (diff)
downloadkernel-9f8f1933dce555d3c246f447f54fca8de8889da9.tar.gz
kernel-9f8f1933dce555d3c246f447f54fca8de8889da9.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
drivers/net/ethernet/freescale/fec.h 7d650df99d52 ("net: fec: add pm_qos support on imx6q platform") 40c79ce13b03 ("net: fec: add stop mode support for imx8 platform") Signed-off-by: Paolo Abeni <[email protected]>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r--net/ipv6/addrconf.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index e15f64f22fa8..10ce86bf228e 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -3557,11 +3557,15 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
fallthrough;
case NETDEV_UP:
case NETDEV_CHANGE:
- if (dev->flags & IFF_SLAVE)
+ if (idev && idev->cnf.disable_ipv6)
break;
- if (idev && idev->cnf.disable_ipv6)
+ if (dev->flags & IFF_SLAVE) {
+ if (event == NETDEV_UP && !IS_ERR_OR_NULL(idev) &&
+ dev->flags & IFF_UP && dev->flags & IFF_MULTICAST)
+ ipv6_mc_up(idev);
break;
+ }
if (event == NETDEV_UP) {
/* restore routes for permanent addresses */