• Rusty Russell's avatar
    virtio_net: set/cancel work on ndo_open/ndo_stop · b2baed69
    Rusty Russell authored
    Michael S. Tsirkin noticed that we could run the refill work after
    ndo_close, which can re-enable napi - we don't disable it until
    virtnet_remove.  This is clearly wrong, so move the workqueue control
    to ndo_open and ndo_stop (aka. virtnet_open and virtnet_close).
    
    One subtle point: virtnet_probe() could simply fail if it couldn't
    allocate a receive buffer, but that's less polite in virtnet_open() so
    we schedule a refill as we do in the normal receive path if we run out
    of memory.
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b2baed69
virtio_net.c 30.5 KB