diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-08 20:42:10 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-08 20:42:10 -0400 |
commit | b0e1e6462df3c5944010b3328a546d8fe5d932cd (patch) | |
tree | 37e3f86d09d8b37deb06cf1c142baeb8246bbf97 /net/mac80211 | |
parent | 555353cfa1aee293de445bfa6de43276138ddd82 (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.c | 20 |
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 | ||
575 | void ieee80211_install_qdisc(struct net_device *dev) | 575 | void 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 | ||
596 | int ieee80211_qdisc_installed(struct net_device *dev) | 597 | int 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 | ||
672 | void ieee80211_requeue(struct ieee80211_local *local, int queue) | 677 | void 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; |