From 48bb492d1fe743c0009e8b216551046911e88510 Mon Sep 17 00:00:00 2001 From: Changli Gao Date: Sat, 4 Dec 2010 02:31:41 +0000 Subject: [PATCH] --- yaml --- r: 224815 b: refs/heads/master c: aa9421041128abb4d269ee1dc502ff65fb3b7d69 h: refs/heads/master i: 224813: 761919139b8a2045614b6b14a8761a42587b41ac 224811: 88c323b90c81210225b0c897f4595aa2946038c9 224807: fe256b4fff48310534a0544f2a0699d2a45fd7ab 224799: 9f13e2aa95c3508a336b5a035ca66814d201d452 v: v3 --- [refs] | 2 +- trunk/net/core/dev.c | 35 +++++++++++++---------------------- 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/[refs] b/[refs] index 750241974270..5e6ced5bbfd9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a1044e36e457fb6dbdf90ce756d578b251d99b5e +refs/heads/master: aa9421041128abb4d269ee1dc502ff65fb3b7d69 diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 55ff66fabce4..ee605c0867e7 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -5112,11 +5112,21 @@ static int netif_alloc_rx_queues(struct net_device *dev) } #endif +static void netdev_init_one_queue(struct net_device *dev, + struct netdev_queue *queue, void *_unused) +{ + /* Initialize queue lock */ + spin_lock_init(&queue->_xmit_lock); + netdev_set_xmit_lockdep_class(&queue->_xmit_lock, dev->type); + queue->xmit_lock_owner = -1; + netdev_queue_numa_node_write(queue, -1); + queue->dev = dev; +} + static int netif_alloc_netdev_queues(struct net_device *dev) { unsigned int count = dev->num_tx_queues; struct netdev_queue *tx; - int i; BUG_ON(count < 1); @@ -5128,27 +5138,10 @@ static int netif_alloc_netdev_queues(struct net_device *dev) } dev->_tx = tx; - for (i = 0; i < count; i++) { - netdev_queue_numa_node_write(&tx[i], -1); - tx[i].dev = dev; - } - return 0; -} - -static void netdev_init_one_queue(struct net_device *dev, - struct netdev_queue *queue, - void *_unused) -{ - /* Initialize queue lock */ - spin_lock_init(&queue->_xmit_lock); - netdev_set_xmit_lockdep_class(&queue->_xmit_lock, dev->type); - queue->xmit_lock_owner = -1; -} - -static void netdev_init_queues(struct net_device *dev) -{ netdev_for_each_tx_queue(dev, netdev_init_one_queue, NULL); spin_lock_init(&dev->tx_global_lock); + + return 0; } /** @@ -5187,8 +5180,6 @@ int register_netdevice(struct net_device *dev) dev->iflink = -1; - netdev_init_queues(dev); - /* Init, if this function is available */ if (dev->netdev_ops->ndo_init) { ret = dev->netdev_ops->ndo_init(dev);