|
@@ -160,6 +160,9 @@ int i40iw_inetaddr_event(struct notifier_block *notifier,
|
|
return NOTIFY_DONE;
|
|
return NOTIFY_DONE;
|
|
|
|
|
|
iwdev = &hdl->device;
|
|
iwdev = &hdl->device;
|
|
|
|
+ if (iwdev->init_state < INET_NOTIFIER)
|
|
|
|
+ return NOTIFY_DONE;
|
|
|
|
+
|
|
netdev = iwdev->ldev->netdev;
|
|
netdev = iwdev->ldev->netdev;
|
|
upper_dev = netdev_master_upper_dev_get(netdev);
|
|
upper_dev = netdev_master_upper_dev_get(netdev);
|
|
if (netdev != event_netdev)
|
|
if (netdev != event_netdev)
|
|
@@ -214,6 +217,9 @@ int i40iw_inet6addr_event(struct notifier_block *notifier,
|
|
return NOTIFY_DONE;
|
|
return NOTIFY_DONE;
|
|
|
|
|
|
iwdev = &hdl->device;
|
|
iwdev = &hdl->device;
|
|
|
|
+ if (iwdev->init_state < INET_NOTIFIER)
|
|
|
|
+ return NOTIFY_DONE;
|
|
|
|
+
|
|
netdev = iwdev->ldev->netdev;
|
|
netdev = iwdev->ldev->netdev;
|
|
if (netdev != event_netdev)
|
|
if (netdev != event_netdev)
|
|
return NOTIFY_DONE;
|
|
return NOTIFY_DONE;
|
|
@@ -260,6 +266,8 @@ int i40iw_net_event(struct notifier_block *notifier, unsigned long event, void *
|
|
if (!iwhdl)
|
|
if (!iwhdl)
|
|
return NOTIFY_DONE;
|
|
return NOTIFY_DONE;
|
|
iwdev = &iwhdl->device;
|
|
iwdev = &iwhdl->device;
|
|
|
|
+ if (iwdev->init_state < INET_NOTIFIER)
|
|
|
|
+ return NOTIFY_DONE;
|
|
p = (__be32 *)neigh->primary_key;
|
|
p = (__be32 *)neigh->primary_key;
|
|
i40iw_copy_ip_ntohl(local_ipaddr, p);
|
|
i40iw_copy_ip_ntohl(local_ipaddr, p);
|
|
if (neigh->nud_state & NUD_VALID) {
|
|
if (neigh->nud_state & NUD_VALID) {
|