Commit 75ca0049 authored by Prameela Rani Garnepudi's avatar Prameela Rani Garnepudi Committed by Kalle Valo

rsi: remove interface changes for AP mode

remove_interface callback of mac80211 is handled for AP mode.
Same is notified to firmware through vap_capabilities frame
with VAP status VAP_DELETE.
Signed-off-by: default avatarPrameela Rani Garnepudi <prameela.j04cs@gmail.com>
Signed-off-by: default avatarAmitkumar Karwar <amit.karwar@redpinesignals.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 03c34c0d
...@@ -405,13 +405,31 @@ static void rsi_mac80211_remove_interface(struct ieee80211_hw *hw, ...@@ -405,13 +405,31 @@ static void rsi_mac80211_remove_interface(struct ieee80211_hw *hw,
{ {
struct rsi_hw *adapter = hw->priv; struct rsi_hw *adapter = hw->priv;
struct rsi_common *common = adapter->priv; struct rsi_common *common = adapter->priv;
enum opmode opmode;
rsi_dbg(INFO_ZONE, "Remove Interface Called\n");
mutex_lock(&common->mutex); mutex_lock(&common->mutex);
if (vif->type == NL80211_IFTYPE_STATION) {
adapter->sc_nvifs--; if (adapter->sc_nvifs <= 0) {
rsi_set_vap_capabilities(common, STA_OPMODE, vif->addr, mutex_unlock(&common->mutex);
0, VAP_DELETE); return;
}
switch (vif->type) {
case NL80211_IFTYPE_STATION:
opmode = STA_OPMODE;
break;
case NL80211_IFTYPE_AP:
opmode = AP_OPMODE;
break;
default:
mutex_unlock(&common->mutex);
return;
} }
rsi_set_vap_capabilities(common, opmode, vif->addr,
0, VAP_DELETE);
adapter->sc_nvifs--;
if (!memcmp(adapter->vifs[0], vif, sizeof(struct ieee80211_vif))) if (!memcmp(adapter->vifs[0], vif, sizeof(struct ieee80211_vif)))
adapter->vifs[0] = NULL; adapter->vifs[0] = NULL;
......
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