diff options
Diffstat (limited to 'drivers/net/virtio_net.c')
| -rw-r--r-- | drivers/net/virtio_net.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 11f722460513..ce07f52d89e7 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -1243,9 +1243,11 @@ static bool try_fill_recv(struct virtnet_info *vi, struct receive_queue *rq,  			break;  	} while (rq->vq->num_free);  	if (virtqueue_kick_prepare(rq->vq) && virtqueue_notify(rq->vq)) { -		u64_stats_update_begin(&rq->stats.syncp); +		unsigned long flags; + +		flags = u64_stats_update_begin_irqsave(&rq->stats.syncp);  		rq->stats.kicks++; -		u64_stats_update_end(&rq->stats.syncp); +		u64_stats_update_end_irqrestore(&rq->stats.syncp, flags);  	}  	return !oom;  | 
