virtio_net.c (c58310bf4933986513020fa90b4190c7492995ae) virtio_net.c (d9d5dcc88ca5c72237e2d09d23a13a9b9d1e7445)
1/* A simple network driver using virtio.
2 *
3 * Copyright 2007 Rusty Russell <rusty@rustcorp.com.au> IBM Corporation
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.

--- 347 unchanged lines hidden (view full) ---

356 } else
357 random_ether_addr(dev->dev_addr);
358
359 /* Set up our device-specific information */
360 vi = netdev_priv(dev);
361 netif_napi_add(dev, &vi->napi, virtnet_poll, napi_weight);
362 vi->dev = dev;
363 vi->vdev = vdev;
1/* A simple network driver using virtio.
2 *
3 * Copyright 2007 Rusty Russell <rusty@rustcorp.com.au> IBM Corporation
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.

--- 347 unchanged lines hidden (view full) ---

356 } else
357 random_ether_addr(dev->dev_addr);
358
359 /* Set up our device-specific information */
360 vi = netdev_priv(dev);
361 netif_napi_add(dev, &vi->napi, virtnet_poll, napi_weight);
362 vi->dev = dev;
363 vi->vdev = vdev;
364 vdev->priv = vi;
364
365 /* We expect two virtqueues, receive then send. */
366 vi->rvq = vdev->config->find_vq(vdev, 0, skb_recv_done);
367 if (IS_ERR(vi->rvq)) {
368 err = PTR_ERR(vi->rvq);
369 goto free;
370 }
371

--- 18 unchanged lines hidden (view full) ---

390
391 /* If we didn't even get one input buffer, we're useless. */
392 if (vi->num == 0) {
393 err = -ENOMEM;
394 goto unregister;
395 }
396
397 pr_debug("virtnet: registered device %s\n", dev->name);
365
366 /* We expect two virtqueues, receive then send. */
367 vi->rvq = vdev->config->find_vq(vdev, 0, skb_recv_done);
368 if (IS_ERR(vi->rvq)) {
369 err = PTR_ERR(vi->rvq);
370 goto free;
371 }
372

--- 18 unchanged lines hidden (view full) ---

391
392 /* If we didn't even get one input buffer, we're useless. */
393 if (vi->num == 0) {
394 err = -ENOMEM;
395 goto unregister;
396 }
397
398 pr_debug("virtnet: registered device %s\n", dev->name);
398 vdev->priv = vi;
399 return 0;
400
401unregister:
402 unregister_netdev(dev);
403free_send:
404 vdev->config->del_vq(vi->svq);
405free_recv:
406 vdev->config->del_vq(vi->rvq);

--- 57 unchanged lines hidden ---
399 return 0;
400
401unregister:
402 unregister_netdev(dev);
403free_send:
404 vdev->config->del_vq(vi->svq);
405free_recv:
406 vdev->config->del_vq(vi->rvq);

--- 57 unchanged lines hidden ---