diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2019-05-23 11:11:00 +0200 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2019-05-23 11:11:00 +0200 |
commit | b794ea49ba3816c0d5cf05506964a8e69ce4efa3 (patch) | |
tree | b0e884d810b1c68b5615995a974cb2707ae02224 /drivers/infiniband/hw/i40iw/i40iw_utils.c | |
parent | 2136d9515afb95a10fe9c2a2da1b54d31caa2e42 (diff) | |
parent | d59f5a01fa438635ae098b2e170a18644df73c06 (diff) |
Merge tag 'v5.0.17' into toradex_5.0.y
This is the 5.0.17 stable release
Diffstat (limited to 'drivers/infiniband/hw/i40iw/i40iw_utils.c')
-rw-r--r-- | drivers/infiniband/hw/i40iw/i40iw_utils.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/i40iw/i40iw_utils.c b/drivers/infiniband/hw/i40iw/i40iw_utils.c index 59e978141ad4..e99177533930 100644 --- a/drivers/infiniband/hw/i40iw/i40iw_utils.c +++ b/drivers/infiniband/hw/i40iw/i40iw_utils.c @@ -173,7 +173,12 @@ int i40iw_inetaddr_event(struct notifier_block *notifier, rcu_read_lock(); in = __in_dev_get_rcu(upper_dev); - local_ipaddr = ntohl(in->ifa_list->ifa_address); + + if (!in->ifa_list) + local_ipaddr = 0; + else + local_ipaddr = ntohl(in->ifa_list->ifa_address); + rcu_read_unlock(); } else { local_ipaddr = ntohl(ifa->ifa_address); @@ -185,6 +190,11 @@ int i40iw_inetaddr_event(struct notifier_block *notifier, case NETDEV_UP: /* Fall through */ case NETDEV_CHANGEADDR: + + /* Just skip if no need to handle ARP cache */ + if (!local_ipaddr) + break; + i40iw_manage_arp_cache(iwdev, netdev->dev_addr, &local_ipaddr, |