X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fvirtio_net.c;h=508408fbe78fbd8658dc226834b5b1b334b8b011;hb=ed41fd071c57f118ebb37c0d11b1cbeff3c1be6f;hp=052975ea0af4cd6a6cb69c16496b09d9f7e884a0;hpb=70990afa34fbac03ade78e2ad0ccd418acecfc04;p=linux-2.6-microblaze.git diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 052975ea0af4..508408fbe78f 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -2093,14 +2093,16 @@ static int virtnet_set_channels(struct net_device *dev, get_online_cpus(); err = _virtnet_set_queues(vi, queue_pairs); - if (!err) { - netif_set_real_num_tx_queues(dev, queue_pairs); - netif_set_real_num_rx_queues(dev, queue_pairs); - - virtnet_set_affinity(vi); + if (err) { + put_online_cpus(); + goto err; } + virtnet_set_affinity(vi); put_online_cpus(); + netif_set_real_num_tx_queues(dev, queue_pairs); + netif_set_real_num_rx_queues(dev, queue_pairs); + err: return err; } @@ -3072,6 +3074,7 @@ static int virtnet_probe(struct virtio_device *vdev) dev_err(&vdev->dev, "device MTU appears to have changed it is now %d < %d", mtu, dev->min_mtu); + err = -EINVAL; goto free; }