add Mesh Point support to ath5k
RFC 1/1 add Mesh Point support to ath5k
This patch enables draft-802.11s Mesh Point operation. For that we need mesh beaconing. This seems to work fine when tested against a Zydas interface but I would appreciate it if someone who knows ath5k could check this over. My hardware is an AR5212/AR5213 PCI card.
Signed-off-by Andrey Yurovsky <[email protected]>
---
drivers/net/wireless/ath5k/base.c +3 -1
@@ -1425,7 +1425,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)
@@ -2911,6 +2912,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 ||
drivers/net/wireless/ath5k/hw.c +1 -0
@@ -2326,6 +2326,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 );