diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2009-10-28 16:39:40 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-11-11 17:08:59 -0500 |
commit | 1bdf6c3bece59c96aec3b8b457a9a554f6b2c433 (patch) | |
tree | 4a2450f6aaf073fbd7dc967c5e64a80c23de031b | |
parent | 194b7c13b4c516db94db8ee004342f8935922739 (diff) |
ath9k: update hw configuration for virtual wiphys
ath9k supports its own virtual wiphys. The hardware code
relies on the ieee80211_hw for the present interface but
with recent changes introduced the common->hw was never
updated and is required for virtual wiphys.
Cc: Jouni.Malinen <Jouni.Malinen@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/virtual.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/virtual.c b/drivers/net/wireless/ath/ath9k/virtual.c index e6a50f3aa472..7678c4a2ca6f 100644 --- a/drivers/net/wireless/ath/ath9k/virtual.c +++ b/drivers/net/wireless/ath/ath9k/virtual.c | |||
@@ -298,6 +298,7 @@ static void ath9k_wiphy_unpause_channel(struct ath_softc *sc) | |||
298 | void ath9k_wiphy_chan_work(struct work_struct *work) | 298 | void ath9k_wiphy_chan_work(struct work_struct *work) |
299 | { | 299 | { |
300 | struct ath_softc *sc = container_of(work, struct ath_softc, chan_work); | 300 | struct ath_softc *sc = container_of(work, struct ath_softc, chan_work); |
301 | struct ath_common *common = ath9k_hw_common(sc->sc_ah); | ||
301 | struct ath_wiphy *aphy = sc->next_wiphy; | 302 | struct ath_wiphy *aphy = sc->next_wiphy; |
302 | 303 | ||
303 | if (aphy == NULL) | 304 | if (aphy == NULL) |
@@ -313,6 +314,10 @@ void ath9k_wiphy_chan_work(struct work_struct *work) | |||
313 | /* XXX: remove me eventually */ | 314 | /* XXX: remove me eventually */ |
314 | ath9k_update_ichannel(sc, aphy->hw, | 315 | ath9k_update_ichannel(sc, aphy->hw, |
315 | &sc->sc_ah->channels[sc->chan_idx]); | 316 | &sc->sc_ah->channels[sc->chan_idx]); |
317 | |||
318 | /* sync hw configuration for hw code */ | ||
319 | common->hw = aphy->hw; | ||
320 | |||
316 | ath_update_chainmask(sc, sc->chan_is_ht); | 321 | ath_update_chainmask(sc, sc->chan_is_ht); |
317 | if (ath_set_channel(sc, aphy->hw, | 322 | if (ath_set_channel(sc, aphy->hw, |
318 | &sc->sc_ah->channels[sc->chan_idx]) < 0) { | 323 | &sc->sc_ah->channels[sc->chan_idx]) < 0) { |