On Thu, Mar 26, 2020 at 08:26:36AM -0700, Stephen Hemminger wrote: > On Wed, 25 Mar 2020 23:54:58 +0100 > "Andrea Parri (Microsoft)" <parri.andrea@xxxxxxxxx> wrote: > > > vmbus_chan_sched() might call the netvsc driver callback function that > > ends up scheduling NAPI work. This "work" can access the channel ring > > buffer, so we must ensure that any such work is completed and that the > > ring buffer is no longer being accessed before freeing the ring buffer > > data structure in the channel closure path. To this end, disable NAPI > > before calling vmbus_close() in netvsc_device_remove(). > > > > Suggested-by: Michael Kelley <mikelley@xxxxxxxxxxxxx> > > Signed-off-by: Andrea Parri (Microsoft) <parri.andrea@xxxxxxxxx> > > Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> > > Cc: <netdev@xxxxxxxxxxxxxxx> > > Do you have a test that reproduces this issue? I don't (or I'm not aware of such a test). > > The netvsc device is somewhat unique in that it needs NAPI > enabled on the primary channel to interact with the host. > Therefore it can't call napi_disable in the normal dev->stop() place. > > Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Thanks! Andrea