staging: wfx: delayed_unjoin cannot happen
Original code allows to detect an unjoin request during a scan and delaying the unjoin request. However, it is far easier to just block the unjoin request until the end of the scan request. In fact, it is already the case since scan and unjoin are protected by conf_mutex. So, currently, the handling of delayed_unjoin is just dead code. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20191217161318.31402-53-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3827e33d37
commit
9699c88a44
@ -95,12 +95,7 @@ void wfx_hw_scan_work(struct work_struct *work)
|
||||
mutex_unlock(&wvif->wdev->conf_mutex);
|
||||
mutex_unlock(&wvif->scan_lock);
|
||||
__ieee80211_scan_completed_compat(wvif->wdev->hw, ret < 0);
|
||||
if (wvif->delayed_unjoin) {
|
||||
wvif->delayed_unjoin = false;
|
||||
wfx_tx_lock(wvif->wdev);
|
||||
if (!schedule_work(&wvif->unjoin_work))
|
||||
wfx_tx_unlock(wvif->wdev);
|
||||
} else if (wvif->delayed_link_loss) {
|
||||
if (wvif->delayed_link_loss) {
|
||||
wvif->delayed_link_loss = false;
|
||||
wfx_cqm_bssloss_sm(wvif, 1, 0, 0);
|
||||
}
|
||||
|
@ -66,10 +66,6 @@ void wfx_cqm_bssloss_sm(struct wfx_vif *wvif, int init, int good, int bad)
|
||||
wvif->delayed_link_loss = 0;
|
||||
cancel_work_sync(&wvif->bss_params_work);
|
||||
|
||||
/* If we have a pending unjoin */
|
||||
if (wvif->delayed_unjoin)
|
||||
goto end;
|
||||
|
||||
if (init) {
|
||||
schedule_delayed_work(&wvif->bss_loss_work, HZ);
|
||||
wvif->bss_loss_state = 0;
|
||||
@ -501,16 +497,6 @@ static void wfx_do_unjoin(struct wfx_vif *wvif)
|
||||
{
|
||||
mutex_lock(&wvif->wdev->conf_mutex);
|
||||
|
||||
if (!mutex_trylock(&wvif->scan_lock)) {
|
||||
if (wvif->delayed_unjoin)
|
||||
dev_dbg(wvif->wdev->dev,
|
||||
"delayed unjoin is already scheduled\n");
|
||||
else
|
||||
wvif->delayed_unjoin = true;
|
||||
goto done;
|
||||
}
|
||||
mutex_unlock(&wvif->scan_lock);
|
||||
|
||||
wvif->delayed_link_loss = false;
|
||||
|
||||
if (!wvif->state)
|
||||
|
@ -122,7 +122,6 @@ struct wfx_vif {
|
||||
struct work_struct set_cts_work;
|
||||
|
||||
int join_complete_status;
|
||||
bool delayed_unjoin;
|
||||
struct work_struct unjoin_work;
|
||||
|
||||
/* avoid some operations in parallel with scan */
|
||||
|
Loading…
Reference in New Issue
Block a user