Commit 935d8a0a authored by Lijun Pan's avatar Lijun Pan Committed by Jakub Kicinski

use __netdev_notify_peers in hyperv

Start to use the lockless version of netdev_notify_peers.
Call the helper where notify variable used to be set true.
Remove the notify bool variable and sort the variables
in reverse Christmas tree order.

Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarLijun Pan <ljp@linux.ibm.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 6be46662
...@@ -2050,11 +2050,11 @@ static void netvsc_link_change(struct work_struct *w) ...@@ -2050,11 +2050,11 @@ static void netvsc_link_change(struct work_struct *w)
container_of(w, struct net_device_context, dwork.work); container_of(w, struct net_device_context, dwork.work);
struct hv_device *device_obj = ndev_ctx->device_ctx; struct hv_device *device_obj = ndev_ctx->device_ctx;
struct net_device *net = hv_get_drvdata(device_obj); struct net_device *net = hv_get_drvdata(device_obj);
unsigned long flags, next_reconfig, delay;
struct netvsc_reconfig *event = NULL;
struct netvsc_device *net_device; struct netvsc_device *net_device;
struct rndis_device *rdev; struct rndis_device *rdev;
struct netvsc_reconfig *event = NULL; bool reschedule = false;
bool notify = false, reschedule = false;
unsigned long flags, next_reconfig, delay;
/* if changes are happening, comeback later */ /* if changes are happening, comeback later */
if (!rtnl_trylock()) { if (!rtnl_trylock()) {
...@@ -2103,7 +2103,7 @@ static void netvsc_link_change(struct work_struct *w) ...@@ -2103,7 +2103,7 @@ static void netvsc_link_change(struct work_struct *w)
netif_carrier_on(net); netif_carrier_on(net);
netvsc_tx_enable(net_device, net); netvsc_tx_enable(net_device, net);
} else { } else {
notify = true; __netdev_notify_peers(net);
} }
kfree(event); kfree(event);
break; break;
...@@ -2132,9 +2132,6 @@ static void netvsc_link_change(struct work_struct *w) ...@@ -2132,9 +2132,6 @@ static void netvsc_link_change(struct work_struct *w)
rtnl_unlock(); rtnl_unlock();
if (notify)
netdev_notify_peers(net);
/* link_watch only sends one notification with current state per /* link_watch only sends one notification with current state per
* second, handle next reconfig event in 2 seconds. * second, handle next reconfig event in 2 seconds.
*/ */
......
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