Subject: Re: [PATCH] virtio_net: return error when there is no virtqueue or MQ isn't support

From: Jason Wang <[email-masked]>
Date: Tue, 22 Apr 2014 11:11:50 +0800

On 04/21/2014 11:11 PM, Amos Kong wrote:
> Currently ethtool returns zero if there is no virtqueue or MQ isn't
> support, we should return -ENOTSUPP to notice user.
>
> Signed-off-by: Amos Kong <[email-masked]>
> ---
>  drivers/net/virtio_net.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> index 8a852b5..eaf8266 100644
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -1053,7 +1053,7 @@ static int virtnet_set_queues(struct virtnet_info *vi, u16 queue_pairs)
>  	struct net_device *dev = vi->dev;
>  
>  	if (!vi->has_cvq || !virtio_has_feature(vi->vdev, VIRTIO_NET_F_MQ))
> -		return 0;
> +		return -ENOTSUPP;
>  
>  	s.virtqueue_pairs = queue_pairs;
>  	sg_init_one(&sg, &s, sizeof(s));

How about check the return value of virtnet_set_queues() in
virtnet_restore() also?