aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-07-08 20:42:10 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-08 20:42:10 -0400
commitb0e1e6462df3c5944010b3328a546d8fe5d932cd (patch)
tree37e3f86d09d8b37deb06cf1c142baeb8246bbf97 /net/mac80211
parent555353cfa1aee293de445bfa6de43276138ddd82 (diff)
netdev: Move rest of qdisc state into struct netdev_queue
Now qdisc, qdisc_sleeping, and qdisc_list also live there. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/wme.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c
index 59ed9cae66b9..6ae43a3c7726 100644
--- a/net/mac80211/wme.c
+++ b/net/mac80211/wme.c
@@ -574,9 +574,10 @@ static struct Qdisc_ops wme_qdisc_ops __read_mostly =
574 574
575void ieee80211_install_qdisc(struct net_device *dev) 575void ieee80211_install_qdisc(struct net_device *dev)
576{ 576{
577 struct netdev_queue *txq = &dev->tx_queue;
577 struct Qdisc *qdisc; 578 struct Qdisc *qdisc;
578 579
579 qdisc = qdisc_create_dflt(dev, &dev->tx_queue, 580 qdisc = qdisc_create_dflt(dev, txq,
580 &wme_qdisc_ops, TC_H_ROOT); 581 &wme_qdisc_ops, TC_H_ROOT);
581 if (!qdisc) { 582 if (!qdisc) {
582 printk(KERN_ERR "%s: qdisc installation failed\n", dev->name); 583 printk(KERN_ERR "%s: qdisc installation failed\n", dev->name);
@@ -587,15 +588,17 @@ void ieee80211_install_qdisc(struct net_device *dev)
587 qdisc->handle = 0x80010000; 588 qdisc->handle = 0x80010000;
588 589
589 qdisc_lock_tree(dev); 590 qdisc_lock_tree(dev);
590 list_add_tail(&qdisc->list, &dev->qdisc_list); 591 list_add_tail(&qdisc->list, &txq->qdisc_list);
591 dev->qdisc_sleeping = qdisc; 592 txq->qdisc_sleeping = qdisc;
592 qdisc_unlock_tree(dev); 593 qdisc_unlock_tree(dev);
593} 594}
594 595
595 596
596int ieee80211_qdisc_installed(struct net_device *dev) 597int ieee80211_qdisc_installed(struct net_device *dev)
597{ 598{
598 return dev->qdisc_sleeping->ops == &wme_qdisc_ops; 599 struct netdev_queue *txq = &dev->tx_queue;
600
601 return txq->qdisc_sleeping->ops == &wme_qdisc_ops;
599} 602}
600 603
601 604
@@ -614,8 +617,9 @@ int ieee80211_ht_agg_queue_add(struct ieee80211_local *local,
614 struct sta_info *sta, u16 tid) 617 struct sta_info *sta, u16 tid)
615{ 618{
616 int i; 619 int i;
620 struct netdev_queue *txq = &local->mdev->tx_queue;
617 struct ieee80211_sched_data *q = 621 struct ieee80211_sched_data *q =
618 qdisc_priv(local->mdev->qdisc_sleeping); 622 qdisc_priv(txq->qdisc_sleeping);
619 DECLARE_MAC_BUF(mac); 623 DECLARE_MAC_BUF(mac);
620 624
621 /* prepare the filter and save it for the SW queue 625 /* prepare the filter and save it for the SW queue
@@ -655,8 +659,9 @@ void ieee80211_ht_agg_queue_remove(struct ieee80211_local *local,
655 u8 requeue) 659 u8 requeue)
656{ 660{
657 struct ieee80211_hw *hw = &local->hw; 661 struct ieee80211_hw *hw = &local->hw;
662 struct netdev_queue *txq = &local->mdev->tx_queue;
658 struct ieee80211_sched_data *q = 663 struct ieee80211_sched_data *q =
659 qdisc_priv(local->mdev->qdisc_sleeping); 664 qdisc_priv(txq->qdisc_sleeping);
660 int agg_queue = sta->tid_to_tx_q[tid]; 665 int agg_queue = sta->tid_to_tx_q[tid];
661 666
662 /* return the qdisc to the pool */ 667 /* return the qdisc to the pool */
@@ -671,7 +676,8 @@ void ieee80211_ht_agg_queue_remove(struct ieee80211_local *local,
671 676
672void ieee80211_requeue(struct ieee80211_local *local, int queue) 677void ieee80211_requeue(struct ieee80211_local *local, int queue)
673{ 678{
674 struct Qdisc *root_qd = local->mdev->qdisc_sleeping; 679 struct netdev_queue *txq = &local->mdev->tx_queue;
680 struct Qdisc *root_qd = txq->qdisc_sleeping;
675 struct ieee80211_sched_data *q = qdisc_priv(root_qd); 681 struct ieee80211_sched_data *q = qdisc_priv(root_qd);
676 struct Qdisc *qdisc = q->queues[queue]; 682 struct Qdisc *qdisc = q->queues[queue];
677 struct sk_buff *skb = NULL; 683 struct sk_buff *skb = NULL;