diff options
author | Tom Herbert <therbert@google.com> | 2010-11-09 05:47:30 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-11-15 13:56:54 -0500 |
commit | ed9af2e839c06c18f721da2c768fbb444c4a10e5 (patch) | |
tree | 446f54e1f2d6951a7803f34f8ca0e4c0b9375f1b /net/core/dev.c | |
parent | cc9ff19da9bf76a2f70bcb80225a1c587c162e52 (diff) |
net: Move TX queue allocation to alloc_netdev_mq
TX queues are now allocated in alloc_netdev_mq and freed in
free_netdev.
Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 8b500c3e0297..75490670e0a9 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -5136,10 +5136,6 @@ int register_netdevice(struct net_device *dev) | |||
5136 | if (ret) | 5136 | if (ret) |
5137 | goto out; | 5137 | goto out; |
5138 | 5138 | ||
5139 | ret = netif_alloc_netdev_queues(dev); | ||
5140 | if (ret) | ||
5141 | goto out; | ||
5142 | |||
5143 | netdev_init_queues(dev); | 5139 | netdev_init_queues(dev); |
5144 | 5140 | ||
5145 | /* Init, if this function is available */ | 5141 | /* Init, if this function is available */ |
@@ -5599,6 +5595,8 @@ struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name, | |||
5599 | 5595 | ||
5600 | dev->num_tx_queues = queue_count; | 5596 | dev->num_tx_queues = queue_count; |
5601 | dev->real_num_tx_queues = queue_count; | 5597 | dev->real_num_tx_queues = queue_count; |
5598 | if (netif_alloc_netdev_queues(dev)) | ||
5599 | goto free_pcpu; | ||
5602 | 5600 | ||
5603 | #ifdef CONFIG_RPS | 5601 | #ifdef CONFIG_RPS |
5604 | dev->num_rx_queues = queue_count; | 5602 | dev->num_rx_queues = queue_count; |
@@ -5619,6 +5617,7 @@ struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name, | |||
5619 | 5617 | ||
5620 | free_pcpu: | 5618 | free_pcpu: |
5621 | free_percpu(dev->pcpu_refcnt); | 5619 | free_percpu(dev->pcpu_refcnt); |
5620 | kfree(dev->_tx); | ||
5622 | free_p: | 5621 | free_p: |
5623 | kfree(p); | 5622 | kfree(p); |
5624 | return NULL; | 5623 | return NULL; |