diff options
| author | 2020-04-20 18:03:09 +0200 | |
|---|---|---|
| committer | 2020-04-23 13:26:05 +0200 | |
| commit | cf24a82bd265d5ffff92faeda030eba7af2b2a59 (patch) | |
| tree | b134781c9f8f2f48102f57c6d57fc903afa95fb5 | |
| parent | staging: wfx: drop useless checks in wfx_do_unjoin() (diff) | |
staging: wfx: simplify wfx_remove_interface()
In wfx_remove_interface(), the current code differentiate AP and Station
cases. However, it is not necessary. In all cases, the only important
thing is the call to hif_reset(). We can use the same code to support
all cases.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200420160311.57323-15-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| -rw-r--r-- | drivers/staging/wfx/sta.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index bc891b6e4392..1732f3d0a1e5 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -785,24 +785,11 @@ void wfx_remove_interface(struct ieee80211_hw *hw, mutex_lock(&wdev->conf_mutex); WARN(wvif->link_id_map != 1, "corrupted state"); - switch (wvif->state) { - case WFX_STATE_PRE_STA: - case WFX_STATE_STA: - case WFX_STATE_IBSS: - wfx_do_unjoin(wvif); - break; - case WFX_STATE_AP: - /* reset.link_id = 0; */ - hif_reset(wvif, false); - break; - default: - break; - } + hif_reset(wvif, false); wvif->state = WFX_STATE_PASSIVE; - - /* FIXME: In add to reset MAC address, try to reset interface */ hif_set_macaddr(wvif, NULL); + wfx_tx_policy_init(wvif); cancel_delayed_work_sync(&wvif->beacon_loss_work); wdev->vif[wvif->id] = NULL; |
