diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2009-03-03 12:23:26 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-05 14:39:44 -0500 |
commit | 2c3db3d51ee1fcf84f5828788905a4c091b9ae27 (patch) | |
tree | 44df855975d0848f15821cc285cbd5d7c8bf3feb /drivers/net/wireless/ath9k/ath9k.h | |
parent | 860559fe686b44a533c83c79fe5d1ad41bf9e090 (diff) |
ath9k: Cleanup multiple VIF processing
Replace the internal sc_vaps array and index values by using vif
pointer from mac80211. Allow multiple VIPs to be registered. Though,
number of beaconing VIFs is still limited by ATH_BCBUF (currently
1). Multiple virtual STAs support is not yet complete, but at least
the data structures should now be able to handle this.
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/ath9k.h')
-rw-r--r-- | drivers/net/wireless/ath9k/ath9k.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/ath9k/ath9k.h index ec1bf174c706..09b2b008feba 100644 --- a/drivers/net/wireless/ath9k/ath9k.h +++ b/drivers/net/wireless/ath9k/ath9k.h | |||
@@ -439,7 +439,7 @@ struct ath_beacon { | |||
439 | u32 bmisscnt; | 439 | u32 bmisscnt; |
440 | u32 ast_be_xmit; | 440 | u32 ast_be_xmit; |
441 | u64 bc_tstamp; | 441 | u64 bc_tstamp; |
442 | int bslot[ATH_BCBUF]; | 442 | struct ieee80211_vif *bslot[ATH_BCBUF]; |
443 | int slottime; | 443 | int slottime; |
444 | int slotupdate; | 444 | int slotupdate; |
445 | struct ath9k_tx_queue_info beacon_qi; | 445 | struct ath9k_tx_queue_info beacon_qi; |
@@ -449,9 +449,9 @@ struct ath_beacon { | |||
449 | }; | 449 | }; |
450 | 450 | ||
451 | void ath_beacon_tasklet(unsigned long data); | 451 | void ath_beacon_tasklet(unsigned long data); |
452 | void ath_beacon_config(struct ath_softc *sc, int if_id); | 452 | void ath_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif); |
453 | int ath_beaconq_setup(struct ath_hw *ah); | 453 | int ath_beaconq_setup(struct ath_hw *ah); |
454 | int ath_beacon_alloc(struct ath_softc *sc, int if_id); | 454 | int ath_beacon_alloc(struct ath_softc *sc, struct ieee80211_vif *vif); |
455 | void ath_beacon_return(struct ath_softc *sc, struct ath_vif *avp); | 455 | void ath_beacon_return(struct ath_softc *sc, struct ath_vif *avp); |
456 | 456 | ||
457 | /*******/ | 457 | /*******/ |
@@ -532,7 +532,6 @@ struct ath_rfkill { | |||
532 | */ | 532 | */ |
533 | #define ATH_KEYMAX 128 /* max key cache size we handle */ | 533 | #define ATH_KEYMAX 128 /* max key cache size we handle */ |
534 | 534 | ||
535 | #define ATH_IF_ID_ANY 0xff | ||
536 | #define ATH_TXPOWER_MAX 100 /* .5 dBm units */ | 535 | #define ATH_TXPOWER_MAX 100 /* .5 dBm units */ |
537 | #define ATH_RSSI_DUMMY_MARKER 0x127 | 536 | #define ATH_RSSI_DUMMY_MARKER 0x127 |
538 | #define ATH_RATE_DUMMY_MARKER 0 | 537 | #define ATH_RATE_DUMMY_MARKER 0 |
@@ -595,7 +594,6 @@ struct ath_softc { | |||
595 | struct ath_rx rx; | 594 | struct ath_rx rx; |
596 | struct ath_tx tx; | 595 | struct ath_tx tx; |
597 | struct ath_beacon beacon; | 596 | struct ath_beacon beacon; |
598 | struct ieee80211_vif *vifs[ATH_BCBUF]; | ||
599 | struct ieee80211_rate rates[IEEE80211_NUM_BANDS][ATH_RATE_MAX]; | 597 | struct ieee80211_rate rates[IEEE80211_NUM_BANDS][ATH_RATE_MAX]; |
600 | struct ath_rate_table *hw_rate_table[ATH9K_MODE_MAX]; | 598 | struct ath_rate_table *hw_rate_table[ATH9K_MODE_MAX]; |
601 | struct ath_rate_table *cur_rate_table; | 599 | struct ath_rate_table *cur_rate_table; |