aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-02-08 20:19:01 -0500
committerDavid S. Miller <davem@davemloft.net>2011-02-08 20:19:01 -0500
commit263fb5b1bf9265d0e4ce59ff6ea92f478b5b61ea (patch)
tree5ee497d530185d32421122729af86cf77d0dc649 /net/core
parent8d13a2a9fb3e5e3f68e9d3ec0de3c8fcfa56a224 (diff)
parentc69b90920a36b88ab0d649963d81355d865eeb05 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/e1000e/netdev.c
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index f46ee357ff2e..6392ea0a5910 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -5807,31 +5807,36 @@ struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name,
5807 5807
5808 dev_net_set(dev, &init_net); 5808 dev_net_set(dev, &init_net);
5809 5809
5810 dev->gso_max_size = GSO_MAX_SIZE;
5811
5812 INIT_LIST_HEAD(&dev->ethtool_ntuple_list.list);
5813 dev->ethtool_ntuple_list.count = 0;
5814 INIT_LIST_HEAD(&dev->napi_list);
5815 INIT_LIST_HEAD(&dev->unreg_list);
5816 INIT_LIST_HEAD(&dev->link_watch_list);
5817 dev->priv_flags = IFF_XMIT_DST_RELEASE;
5818 setup(dev);
5819
5810 dev->num_tx_queues = txqs; 5820 dev->num_tx_queues = txqs;
5811 dev->real_num_tx_queues = txqs; 5821 dev->real_num_tx_queues = txqs;
5812 if (netif_alloc_netdev_queues(dev)) 5822 if (netif_alloc_netdev_queues(dev))
5813 goto free_pcpu; 5823 goto free_all;
5814 5824
5815#ifdef CONFIG_RPS 5825#ifdef CONFIG_RPS
5816 dev->num_rx_queues = rxqs; 5826 dev->num_rx_queues = rxqs;
5817 dev->real_num_rx_queues = rxqs; 5827 dev->real_num_rx_queues = rxqs;
5818 if (netif_alloc_rx_queues(dev)) 5828 if (netif_alloc_rx_queues(dev))
5819 goto free_pcpu; 5829 goto free_all;
5820#endif 5830#endif
5821 5831
5822 dev->gso_max_size = GSO_MAX_SIZE;
5823
5824 INIT_LIST_HEAD(&dev->ethtool_ntuple_list.list);
5825 dev->ethtool_ntuple_list.count = 0;
5826 INIT_LIST_HEAD(&dev->napi_list);
5827 INIT_LIST_HEAD(&dev->unreg_list);
5828 INIT_LIST_HEAD(&dev->link_watch_list);
5829 dev->priv_flags = IFF_XMIT_DST_RELEASE;
5830 setup(dev);
5831 strcpy(dev->name, name); 5832 strcpy(dev->name, name);
5832 dev->group = INIT_NETDEV_GROUP; 5833 dev->group = INIT_NETDEV_GROUP;
5833 return dev; 5834 return dev;
5834 5835
5836free_all:
5837 free_netdev(dev);
5838 return NULL;
5839
5835free_pcpu: 5840free_pcpu:
5836 free_percpu(dev->pcpu_refcnt); 5841 free_percpu(dev->pcpu_refcnt);
5837 kfree(dev->_tx); 5842 kfree(dev->_tx);