Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42066f9a authored by Arik Nemtsov's avatar Arik Nemtsov Committed by Luciano Coelho
Browse files

wlcore: don't issue SLEEP_AUTH command during recovery



During interface removal, don't adjust sleep_auth if we are during
recovery. Since the FW is potentially dead we shouldn't talk to it.

Reported-by: default avatarYossi Wortzel <yossiw@ti.com>
Signed-off-by: default avatarArik Nemtsov <arik@wizery.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent 602c7595
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -2377,7 +2377,14 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl,
	else
		wl->sta_count--;

	/* Last AP, have more stations. Configure according to STA. */
	/*
	 * Last AP, have more stations. Configure sleep auth according to STA.
	 * Don't do thin on unintended recovery.
	 */
	if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags) &&
	    !test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags))
		goto unlock;

	if (wl->ap_count == 0 && is_ap && wl->sta_count) {
		u8 sta_auth = wl->conf.conn.sta_sleep_auth;
		/* Configure for power according to debugfs */
@@ -2391,6 +2398,7 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl,
			wl1271_acx_sleep_auth(wl, WL1271_PSM_ELP);
	}

unlock:
	mutex_unlock(&wl->mutex);

	del_timer_sync(&wlvif->rx_streaming_timer);