diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/virtual.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/virtual.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/net/wireless/ath/ath9k/virtual.c b/drivers/net/wireless/ath/ath9k/virtual.c index ec7cf5ee56bc..2dc7095e56d1 100644 --- a/drivers/net/wireless/ath/ath9k/virtual.c +++ b/drivers/net/wireless/ath/ath9k/virtual.c | |||
@@ -107,6 +107,7 @@ int ath9k_wiphy_add(struct ath_softc *sc) | |||
107 | aphy->sc = sc; | 107 | aphy->sc = sc; |
108 | aphy->hw = hw; | 108 | aphy->hw = hw; |
109 | sc->sec_wiphy[i] = aphy; | 109 | sc->sec_wiphy[i] = aphy; |
110 | aphy->last_rssi = ATH_RSSI_DUMMY_MARKER; | ||
110 | spin_unlock_bh(&sc->wiphy_lock); | 111 | spin_unlock_bh(&sc->wiphy_lock); |
111 | 112 | ||
112 | memcpy(addr, common->macaddr, ETH_ALEN); | 113 | memcpy(addr, common->macaddr, ETH_ALEN); |
@@ -186,7 +187,7 @@ static int ath9k_send_nullfunc(struct ath_wiphy *aphy, | |||
186 | info->control.rates[1].idx = -1; | 187 | info->control.rates[1].idx = -1; |
187 | 188 | ||
188 | memset(&txctl, 0, sizeof(struct ath_tx_control)); | 189 | memset(&txctl, 0, sizeof(struct ath_tx_control)); |
189 | txctl.txq = &sc->tx.txq[sc->tx.hwq_map[WME_AC_VO]]; | 190 | txctl.txq = sc->tx.txq_map[WME_AC_VO]; |
190 | txctl.frame_type = ps ? ATH9K_IFT_PAUSE : ATH9K_IFT_UNPAUSE; | 191 | txctl.frame_type = ps ? ATH9K_IFT_PAUSE : ATH9K_IFT_UNPAUSE; |
191 | 192 | ||
192 | if (ath_tx_start(aphy->hw, skb, &txctl) != 0) | 193 | if (ath_tx_start(aphy->hw, skb, &txctl) != 0) |
@@ -287,7 +288,6 @@ void ath9k_wiphy_chan_work(struct work_struct *work) | |||
287 | /* sync hw configuration for hw code */ | 288 | /* sync hw configuration for hw code */ |
288 | common->hw = aphy->hw; | 289 | common->hw = aphy->hw; |
289 | 290 | ||
290 | ath_update_chainmask(sc, sc->chan_is_ht); | ||
291 | if (ath_set_channel(sc, aphy->hw, | 291 | if (ath_set_channel(sc, aphy->hw, |
292 | &sc->sc_ah->channels[sc->chan_idx]) < 0) { | 292 | &sc->sc_ah->channels[sc->chan_idx]) < 0) { |
293 | printk(KERN_DEBUG "ath9k: Failed to set channel for new " | 293 | printk(KERN_DEBUG "ath9k: Failed to set channel for new " |
@@ -304,13 +304,12 @@ void ath9k_wiphy_chan_work(struct work_struct *work) | |||
304 | * ath9k version of ieee80211_tx_status() for TX frames that are generated | 304 | * ath9k version of ieee80211_tx_status() for TX frames that are generated |
305 | * internally in the driver. | 305 | * internally in the driver. |
306 | */ | 306 | */ |
307 | void ath9k_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) | 307 | void ath9k_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb, int ftype) |
308 | { | 308 | { |
309 | struct ath_wiphy *aphy = hw->priv; | 309 | struct ath_wiphy *aphy = hw->priv; |
310 | struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); | 310 | struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); |
311 | 311 | ||
312 | if ((tx_info->pad[0] & ATH_TX_INFO_FRAME_TYPE_PAUSE) && | 312 | if (ftype == ATH9K_IFT_PAUSE && aphy->state == ATH_WIPHY_PAUSING) { |
313 | aphy->state == ATH_WIPHY_PAUSING) { | ||
314 | if (!(tx_info->flags & IEEE80211_TX_STAT_ACK)) { | 313 | if (!(tx_info->flags & IEEE80211_TX_STAT_ACK)) { |
315 | printk(KERN_DEBUG "ath9k: %s: no ACK for pause " | 314 | printk(KERN_DEBUG "ath9k: %s: no ACK for pause " |
316 | "frame\n", wiphy_name(hw->wiphy)); | 315 | "frame\n", wiphy_name(hw->wiphy)); |
@@ -656,10 +655,9 @@ void ath9k_set_wiphy_idle(struct ath_wiphy *aphy, bool idle) | |||
656 | struct ath_softc *sc = aphy->sc; | 655 | struct ath_softc *sc = aphy->sc; |
657 | 656 | ||
658 | aphy->idle = idle; | 657 | aphy->idle = idle; |
659 | ath_print(ath9k_hw_common(sc->sc_ah), ATH_DBG_CONFIG, | 658 | ath_dbg(ath9k_hw_common(sc->sc_ah), ATH_DBG_CONFIG, |
660 | "Marking %s as %s\n", | 659 | "Marking %s as %sidle\n", |
661 | wiphy_name(aphy->hw->wiphy), | 660 | wiphy_name(aphy->hw->wiphy), idle ? "" : "not-"); |
662 | idle ? "idle" : "not-idle"); | ||
663 | } | 661 | } |
664 | /* Only bother starting a queue on an active virtual wiphy */ | 662 | /* Only bother starting a queue on an active virtual wiphy */ |
665 | bool ath_mac80211_start_queue(struct ath_softc *sc, u16 skb_queue) | 663 | bool ath_mac80211_start_queue(struct ath_softc *sc, u16 skb_queue) |