diff options
Diffstat (limited to 'drivers/net/virtio_net.c')
| -rw-r--r-- | drivers/net/virtio_net.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 8a58a2f013af..56c3f8519093 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -1771,6 +1771,7 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd,  {  	struct scatterlist *sgs[4], hdr, stat;  	unsigned out_num = 0, tmp; +	int ret;  	/* Caller should know better */  	BUG_ON(!virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)); @@ -1790,7 +1791,12 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd,  	sgs[out_num] = &stat;  	BUG_ON(out_num + 1 > ARRAY_SIZE(sgs)); -	virtqueue_add_sgs(vi->cvq, sgs, out_num, 1, vi, GFP_ATOMIC); +	ret = virtqueue_add_sgs(vi->cvq, sgs, out_num, 1, vi, GFP_ATOMIC); +	if (ret < 0) { +		dev_warn(&vi->vdev->dev, +			 "Failed to add sgs for command vq: %d\n.", ret); +		return false; +	}  	if (unlikely(!virtqueue_kick(vi->cvq)))  		return vi->ctrl->status == VIRTIO_NET_OK;  | 
