Commit 8e5f3d0a authored by Andrey Yurovsky's avatar Andrey Yurovsky Committed by John W. Linville

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: default avatarAndrey Yurovsky <andrey@cozybit.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent d92a8e81
...@@ -1432,7 +1432,8 @@ ath5k_beaconq_config(struct ath5k_softc *sc) ...@@ -1432,7 +1432,8 @@ ath5k_beaconq_config(struct ath5k_softc *sc)
ret = ath5k_hw_get_tx_queueprops(ah, sc->bhalq, &qi); ret = ath5k_hw_get_tx_queueprops(ah, sc->bhalq, &qi);
if (ret) if (ret)
return 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 * Always burst out beacon and CAB traffic
* (aifs = cwmin = cwmax = 0) * (aifs = cwmin = cwmax = 0)
...@@ -2932,6 +2933,7 @@ static void ath5k_configure_filter(struct ieee80211_hw *hw, ...@@ -2932,6 +2933,7 @@ static void ath5k_configure_filter(struct ieee80211_hw *hw,
if (sc->opmode != IEEE80211_IF_TYPE_STA) if (sc->opmode != IEEE80211_IF_TYPE_STA)
rfilt |= AR5K_RX_FILTER_PROBEREQ; rfilt |= AR5K_RX_FILTER_PROBEREQ;
if (sc->opmode != IEEE80211_IF_TYPE_AP && if (sc->opmode != IEEE80211_IF_TYPE_AP &&
sc->opmode != IEEE80211_IF_TYPE_MESH_POINT &&
test_bit(ATH_STAT_PROMISC, sc->status)) test_bit(ATH_STAT_PROMISC, sc->status))
rfilt |= AR5K_RX_FILTER_PROM; rfilt |= AR5K_RX_FILTER_PROM;
if (sc->opmode == IEEE80211_IF_TYPE_STA || if (sc->opmode == IEEE80211_IF_TYPE_STA ||
......
...@@ -2387,6 +2387,7 @@ int ath5k_hw_set_opmode(struct ath5k_hw *ah) ...@@ -2387,6 +2387,7 @@ int ath5k_hw_set_opmode(struct ath5k_hw *ah)
break; break;
case IEEE80211_IF_TYPE_AP: case IEEE80211_IF_TYPE_AP:
case IEEE80211_IF_TYPE_MESH_POINT:
pcu_reg |= AR5K_STA_ID1_AP | AR5K_STA_ID1_RTS_DEF_ANTENNA | pcu_reg |= AR5K_STA_ID1_AP | AR5K_STA_ID1_RTS_DEF_ANTENNA |
(ah->ah_version == AR5K_AR5210 ? (ah->ah_version == AR5K_AR5210 ?
AR5K_STA_ID1_NO_PSPOLL : 0); AR5K_STA_ID1_NO_PSPOLL : 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment