OLD | NEW |
1 /* | 1 /* |
2 * Atheros AR9170 driver | 2 * Atheros AR9170 driver |
3 * | 3 * |
4 * mac80211 interaction code | 4 * mac80211 interaction code |
5 * | 5 * |
6 * Copyright 2008, Johannes Berg <johannes@sipsolutions.net> | 6 * Copyright 2008, Johannes Berg <johannes@sipsolutions.net> |
7 * Copyright 2009, Christian Lamparter <chunkeey@web.de> | 7 * Copyright 2009, Christian Lamparter <chunkeey@web.de> |
8 * | 8 * |
9 * This program is free software; you can redistribute it and/or modify | 9 * This program is free software; you can redistribute it and/or modify |
10 * it under the terms of the GNU General Public License as published by | 10 * it under the terms of the GNU General Public License as published by |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 __ar9170_dump_txqueue(ar, queue); | 238 __ar9170_dump_txqueue(ar, queue); |
239 spin_unlock_irqrestore(&queue->lock, flags); | 239 spin_unlock_irqrestore(&queue->lock, flags); |
240 } | 240 } |
241 #endif /* AR9170_QUEUE_DEBUG */ | 241 #endif /* AR9170_QUEUE_DEBUG */ |
242 | 242 |
243 #ifdef AR9170_QUEUE_STOP_DEBUG | 243 #ifdef AR9170_QUEUE_STOP_DEBUG |
244 static void __ar9170_dump_txstats(struct ar9170 *ar) | 244 static void __ar9170_dump_txstats(struct ar9170 *ar) |
245 { | 245 { |
246 int i; | 246 int i; |
247 | 247 |
248 » wiphy_debug(ar->hw->wiphy, "qos queue stats\n"); | 248 » wiphy_debug(ar->hw->wiphy, "QoS queue stats\n"); |
249 | 249 |
250 for (i = 0; i < __AR9170_NUM_TXQ; i++) | 250 for (i = 0; i < __AR9170_NUM_TXQ; i++) |
251 wiphy_debug(ar->hw->wiphy, | 251 wiphy_debug(ar->hw->wiphy, |
252 "queue:%d limit:%d len:%d waitack:%d stopped:%d\n", | 252 "queue:%d limit:%d len:%d waitack:%d stopped:%d\n", |
253 i, ar->tx_stats[i].limit, ar->tx_stats[i].len, | 253 i, ar->tx_stats[i].limit, ar->tx_stats[i].len, |
254 skb_queue_len(&ar->tx_status[i]), | 254 skb_queue_len(&ar->tx_status[i]), |
255 ieee80211_queue_stopped(ar->hw, i)); | 255 ieee80211_queue_stopped(ar->hw, i)); |
256 } | 256 } |
257 #endif /* AR9170_QUEUE_STOP_DEBUG */ | 257 #endif /* AR9170_QUEUE_STOP_DEBUG */ |
258 | 258 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 | 380 |
381 spin_lock_irqsave(&queue->lock, flags); | 381 spin_lock_irqsave(&queue->lock, flags); |
382 skb_queue_walk(queue, skb) { | 382 skb_queue_walk(queue, skb) { |
383 struct ar9170_tx_control *txc = (void *) skb->data; | 383 struct ar9170_tx_control *txc = (void *) skb->data; |
384 struct ieee80211_hdr *hdr = (void *) txc->frame_data; | 384 struct ieee80211_hdr *hdr = (void *) txc->frame_data; |
385 u32 r; | 385 u32 r; |
386 | 386 |
387 if (mac && compare_ether_addr(ieee80211_get_DA(hdr), mac)) { | 387 if (mac && compare_ether_addr(ieee80211_get_DA(hdr), mac)) { |
388 #ifdef AR9170_QUEUE_DEBUG | 388 #ifdef AR9170_QUEUE_DEBUG |
389 wiphy_debug(ar->hw->wiphy, | 389 wiphy_debug(ar->hw->wiphy, |
390 » » » » "skip frame => da %pm != %pm\n", | 390 » » » » "skip frame => DA %pM != %pM\n", |
391 mac, ieee80211_get_DA(hdr)); | 391 mac, ieee80211_get_DA(hdr)); |
392 ar9170_print_txheader(ar, skb); | 392 ar9170_print_txheader(ar, skb); |
393 #endif /* AR9170_QUEUE_DEBUG */ | 393 #endif /* AR9170_QUEUE_DEBUG */ |
394 continue; | 394 continue; |
395 } | 395 } |
396 | 396 |
397 r = (le32_to_cpu(txc->phy_control) & AR9170_TX_PHY_MCS_MASK) >> | 397 r = (le32_to_cpu(txc->phy_control) & AR9170_TX_PHY_MCS_MASK) >> |
398 AR9170_TX_PHY_MCS_SHIFT; | 398 AR9170_TX_PHY_MCS_SHIFT; |
399 | 399 |
400 if ((rate != AR9170_TX_INVALID_RATE) && (r != rate)) { | 400 if ((rate != AR9170_TX_INVALID_RATE) && (r != rate)) { |
(...skipping 1799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2200 #ifdef CONFIG_AR9170_LEDS | 2200 #ifdef CONFIG_AR9170_LEDS |
2201 ar9170_unregister_leds(ar); | 2201 ar9170_unregister_leds(ar); |
2202 #endif /* CONFIG_AR9170_LEDS */ | 2202 #endif /* CONFIG_AR9170_LEDS */ |
2203 | 2203 |
2204 ieee80211_unregister_hw(ar->hw); | 2204 ieee80211_unregister_hw(ar->hw); |
2205 } | 2205 } |
2206 | 2206 |
2207 kfree_skb(ar->rx_failover); | 2207 kfree_skb(ar->rx_failover); |
2208 mutex_destroy(&ar->mutex); | 2208 mutex_destroy(&ar->mutex); |
2209 } | 2209 } |
OLD | NEW |