Commit 0b2b0595 authored by Jérôme Pouiller's avatar Jérôme Pouiller Committed by Greg Kroah-Hartman
Browse files

staging: wfx: simplify wfx_update_beaconing()



Remove most of indentation of wfx_update_beaconing() by reworking the
error handling.

Signed-off-by: default avatarJérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200115135338.14374-19-Jerome.Pouiller@silabs.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 305f7109
Loading
Loading
Loading
Loading
+11 −17
Original line number Diff line number Diff line
@@ -760,23 +760,17 @@ static int wfx_start_ap(struct wfx_vif *wvif)

static int wfx_update_beaconing(struct wfx_vif *wvif)
{
	struct ieee80211_bss_conf *conf = &wvif->vif->bss_conf;

	if (wvif->vif->type == NL80211_IFTYPE_AP) {
		/* TODO: check if changed channel, band */
		if (wvif->state != WFX_STATE_AP ||
		    wvif->beacon_int != conf->beacon_int) {
	if (wvif->vif->type != NL80211_IFTYPE_AP)
		return 0;
	if (wvif->state == WFX_STATE_AP &&
	    wvif->beacon_int == wvif->vif->bss_conf.beacon_int)
		return 0;
	wfx_tx_lock_flush(wvif->wdev);
			if (wvif->state != WFX_STATE_PASSIVE) {
	hif_reset(wvif, false);
	wfx_tx_policy_init(wvif);
			}
	wvif->state = WFX_STATE_PASSIVE;
	wfx_start_ap(wvif);
	wfx_tx_unlock(wvif->wdev);
		} else {
		}
	}
	return 0;
}