aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2015-12-03 21:12:32 +0100
committerDavid S. Miller <davem@davemloft.net>2015-12-05 17:41:42 -0500
commit3ef0952ca85e28226b09a6d833c30e3e604a63c8 (patch)
tree736c5ecb91f789a268c0ef3404c8c9d8c6476245 /net/ipv6/addrconf.c
parentWAN: HDLC: Call notifiers before and after changing device type (diff)
downloadlinux-dev-3ef0952ca85e28226b09a6d833c30e3e604a63c8.tar.xz
linux-dev-3ef0952ca85e28226b09a6d833c30e3e604a63c8.zip
ipv6: Only act upon NETDEV_*_TYPE_CHANGE if we have ipv6 addresses
An interface changing type may not have IPv6 addresses. Don't call the address configuration type change in this case. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r--net/ipv6/addrconf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 6936d0d8c6b1..5e9111da449d 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -3287,7 +3287,8 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
case NETDEV_PRE_TYPE_CHANGE:
case NETDEV_POST_TYPE_CHANGE:
- addrconf_type_change(dev, event);
+ if (idev)
+ addrconf_type_change(dev, event);
break;
}