virtio-net: disable NAPI only when enabled during XDP set
authorJason Wang <jasowang@redhat.com>
Wed, 28 Feb 2018 10:20:04 +0000 (18:20 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Mar 2018 06:41:18 +0000 (22:41 -0800)
commit99a781947c2ab1e7b77bc88017fa58e78ff5c3ba
tree790bf906ec90726cba1817713644c0e78af377ff
parent5134b919cc2c2b225ac8d82b54cac5dcb3c41267
virtio-net: disable NAPI only when enabled during XDP set

[ Upstream commit 4e09ff5362843dff3accfa84c805c7f3a99de9cd ]

We try to disable NAPI to prevent a single XDP TX queue being used by
multiple cpus. But we don't check if device is up (NAPI is enabled),
this could result stall because of infinite wait in
napi_disable(). Fixing this by checking device state through
netif_running() before.

Fixes: 4941d472bf95b ("virtio-net: do not reset during XDP set")
Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/virtio_net.c