aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/virtio_net.c
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2013-12-20 11:30:50 -0500
committerKevin Hilman <khilman@linaro.org>2013-12-20 11:30:50 -0500
commitcd15c51d6c2f577f896471a058f33a95f164dba2 (patch)
tree9d42b8ea581ca35bdf75467b8bbbab21e7056ff9 /drivers/net/virtio_net.c
parent5b8314a98888b12159d0b1b14982b8dd2d94e3f5 (diff)
parent130f769e81fc472beb2211320777e26050e3fa15 (diff)
Merge tag 'omap-for-v3.13/display-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
I accidentally removed some mux code for omap4 that I thought was dead code as omap4 has been booting with device tree only since v3.10. Turns out I also removed some display related mux code, so let's revert that except for the dead code parts. * tag 'omap-for-v3.13/display-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (439 commits) Revert "ARM: OMAP2+: Remove legacy mux code for display.c" +Linux 3.13-rc4
Diffstat (limited to 'drivers/net/virtio_net.c')
-rw-r--r--drivers/net/virtio_net.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 916241d16c67..d208f8604981 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -426,10 +426,10 @@ static void receive_buf(struct receive_queue *rq, void *buf, unsigned int len)
426 if (unlikely(len < sizeof(struct virtio_net_hdr) + ETH_HLEN)) { 426 if (unlikely(len < sizeof(struct virtio_net_hdr) + ETH_HLEN)) {
427 pr_debug("%s: short packet %i\n", dev->name, len); 427 pr_debug("%s: short packet %i\n", dev->name, len);
428 dev->stats.rx_length_errors++; 428 dev->stats.rx_length_errors++;
429 if (vi->big_packets) 429 if (vi->mergeable_rx_bufs)
430 give_pages(rq, buf);
431 else if (vi->mergeable_rx_bufs)
432 put_page(virt_to_head_page(buf)); 430 put_page(virt_to_head_page(buf));
431 else if (vi->big_packets)
432 give_pages(rq, buf);
433 else 433 else
434 dev_kfree_skb(buf); 434 dev_kfree_skb(buf);
435 return; 435 return;
@@ -1367,6 +1367,11 @@ static void virtnet_config_changed(struct virtio_device *vdev)
1367 1367
1368static void virtnet_free_queues(struct virtnet_info *vi) 1368static void virtnet_free_queues(struct virtnet_info *vi)
1369{ 1369{
1370 int i;
1371
1372 for (i = 0; i < vi->max_queue_pairs; i++)
1373 netif_napi_del(&vi->rq[i].napi);
1374
1370 kfree(vi->rq); 1375 kfree(vi->rq);
1371 kfree(vi->sq); 1376 kfree(vi->sq);
1372} 1377}
@@ -1396,10 +1401,10 @@ static void free_unused_bufs(struct virtnet_info *vi)
1396 struct virtqueue *vq = vi->rq[i].vq; 1401 struct virtqueue *vq = vi->rq[i].vq;
1397 1402
1398 while ((buf = virtqueue_detach_unused_buf(vq)) != NULL) { 1403 while ((buf = virtqueue_detach_unused_buf(vq)) != NULL) {
1399 if (vi->big_packets) 1404 if (vi->mergeable_rx_bufs)
1400 give_pages(&vi->rq[i], buf);
1401 else if (vi->mergeable_rx_bufs)
1402 put_page(virt_to_head_page(buf)); 1405 put_page(virt_to_head_page(buf));
1406 else if (vi->big_packets)
1407 give_pages(&vi->rq[i], buf);
1403 else 1408 else
1404 dev_kfree_skb(buf); 1409 dev_kfree_skb(buf);
1405 --vi->rq[i].num; 1410 --vi->rq[i].num;