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

Commit df397e20 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "wil6210: propagate disconnect reason"

parents 52459932 2178188b
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -940,12 +940,11 @@ static int wil_cfg80211_del_station(struct wiphy *wiphy,
{
	struct wil6210_priv *wil = wiphy_to_wil(wiphy);

	wil_dbg_misc(wil, "%s(%pM, reason=%d)\n", __func__, (u8 *)params->mac,
		     WLAN_REASON_UNSPECIFIED);
	wil_dbg_misc(wil, "%s(%pM, reason=%d)\n", __func__, params->mac,
		     params->reason_code);

	mutex_lock(&wil->mutex);
	wil6210_disconnect(wil, (u8 *)params->mac, WLAN_REASON_UNSPECIFIED,
			   false);
	wil6210_disconnect(wil, params->mac, params->reason_code, false);
	mutex_unlock(&wil->mutex);

	return 0;
+8 −0
Original line number Diff line number Diff line
@@ -767,6 +767,8 @@ int wil_reset(struct wil6210_priv *wil, bool load_fw)
	if (wil->hw_version == HW_VER_UNKNOWN)
		return -ENODEV;

	set_bit(wil_status_resetting, wil->status);

	cancel_work_sync(&wil->disconnect_worker);
	wil6210_disconnect(wil, NULL, WLAN_REASON_DEAUTH_LEAVING, false);
	wil_bcast_fini(wil);
@@ -853,6 +855,12 @@ int wil_reset(struct wil6210_priv *wil, bool load_fw)
void wil_fw_error_recovery(struct wil6210_priv *wil)
{
	wil_dbg_misc(wil, "starting fw error recovery\n");

	if (test_bit(wil_status_resetting, wil->status)) {
		wil_info(wil, "Reset already in progress\n");
		return;
	}

	wil->recovery_state = fw_recovery_pending;
	schedule_work(&wil->fw_error_worker);
}
+1 −0
Original line number Diff line number Diff line
@@ -409,6 +409,7 @@ enum { /* for wil6210_priv.status */
	wil_status_reset_done,
	wil_status_irqen, /* FIXME: interrupts enabled - for debug */
	wil_status_napi_en, /* NAPI enabled protected by wil->mutex */
	wil_status_resetting, /* reset in progress */
	wil_status_last /* keep last */
};