| 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 |