summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/net/virtio_net.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/net/virtio_net.c')
-rw-r--r--kernel/drivers/net/virtio_net.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/drivers/net/virtio_net.c b/kernel/drivers/net/virtio_net.c
index f94ab7860..0e2a19e58 100644
--- a/kernel/drivers/net/virtio_net.c
+++ b/kernel/drivers/net/virtio_net.c
@@ -1465,6 +1465,11 @@ static void virtnet_free_queues(struct virtnet_info *vi)
netif_napi_del(&vi->rq[i].napi);
}
+ /* We called napi_hash_del() before netif_napi_del(),
+ * we need to respect an RCU grace period before freeing vi->rq
+ */
+ synchronize_net();
+
kfree(vi->rq);
kfree(vi->sq);
}