On Mon, 14 Dec 2020 15:19:30 -0600 Lijun Pan wrote: > 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 <haiya...@microsoft.com> > Signed-off-by: Lijun Pan <l...@linux.ibm.com> > --- > v2: call the helper where notify variable used to be set true > according to Jakub's review suggestion.
Can we get an ack for merging via net-next? > diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c > index d17bbc75f5e7..f32f28311d57 100644 > --- a/drivers/net/hyperv/netvsc_drv.c > +++ b/drivers/net/hyperv/netvsc_drv.c > @@ -2050,11 +2050,11 @@ static void netvsc_link_change(struct work_struct *w) > container_of(w, struct net_device_context, dwork.work); > struct hv_device *device_obj = ndev_ctx->device_ctx; > 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 rndis_device *rdev; > - struct netvsc_reconfig *event = NULL; > - bool notify = false, reschedule = false; > - unsigned long flags, next_reconfig, delay; > + bool reschedule = false; > > /* if changes are happening, comeback later */ > if (!rtnl_trylock()) { > @@ -2103,7 +2103,7 @@ static void netvsc_link_change(struct work_struct *w) > netif_carrier_on(net); > netvsc_tx_enable(net_device, net); > } else { > - notify = true; > + __netdev_notify_peers(net); > } > kfree(event); > break; > @@ -2132,9 +2132,6 @@ static void netvsc_link_change(struct work_struct *w) > > rtnl_unlock(); > > - if (notify) > - netdev_notify_peers(net); > - > /* link_watch only sends one notification with current state per > * second, handle next reconfig event in 2 seconds. > */