ath5k: add Mesh Point support
This enables draft-802.11s Mesh Point operation. For that we need mesh beaconing. Tested with AR5212/AR5213 PCI card against Zydas and b43 mesh nodes. Signed-off-by: Andrey Yurovsky <andrey@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
d92a8e81e0
Коммит
8e5f3d0aaa
|
@ -1432,7 +1432,8 @@ ath5k_beaconq_config(struct ath5k_softc *sc)
|
|||
ret = ath5k_hw_get_tx_queueprops(ah, sc->bhalq, &qi);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (sc->opmode == IEEE80211_IF_TYPE_AP) {
|
||||
if (sc->opmode == IEEE80211_IF_TYPE_AP ||
|
||||
sc->opmode == IEEE80211_IF_TYPE_MESH_POINT) {
|
||||
/*
|
||||
* Always burst out beacon and CAB traffic
|
||||
* (aifs = cwmin = cwmax = 0)
|
||||
|
@ -2932,6 +2933,7 @@ static void ath5k_configure_filter(struct ieee80211_hw *hw,
|
|||
if (sc->opmode != IEEE80211_IF_TYPE_STA)
|
||||
rfilt |= AR5K_RX_FILTER_PROBEREQ;
|
||||
if (sc->opmode != IEEE80211_IF_TYPE_AP &&
|
||||
sc->opmode != IEEE80211_IF_TYPE_MESH_POINT &&
|
||||
test_bit(ATH_STAT_PROMISC, sc->status))
|
||||
rfilt |= AR5K_RX_FILTER_PROM;
|
||||
if (sc->opmode == IEEE80211_IF_TYPE_STA ||
|
||||
|
|
|
@ -2387,6 +2387,7 @@ int ath5k_hw_set_opmode(struct ath5k_hw *ah)
|
|||
break;
|
||||
|
||||
case IEEE80211_IF_TYPE_AP:
|
||||
case IEEE80211_IF_TYPE_MESH_POINT:
|
||||
pcu_reg |= AR5K_STA_ID1_AP | AR5K_STA_ID1_RTS_DEF_ANTENNA |
|
||||
(ah->ah_version == AR5K_AR5210 ?
|
||||
AR5K_STA_ID1_NO_PSPOLL : 0);
|
||||
|
|
Загрузка…
Ссылка в новой задаче