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

Commit 02ed94d5 authored by Govind Singh's avatar Govind Singh Committed by Gerrit - the friendly Code Review server
Browse files

ath10k: Fix STA disconnect issue



vdev params are being set after vdev is in down state, this
is resulting in firmware crash.

Fix this by skipping vdev access after vdev is in down state.

CRs-Fixed: 2000365
Change-Id: Ib15f038624682fb324fbd5c43fa5cddf462443cd
Signed-off-by: default avatarGovind Singh <govinds@codeaurora.org>
parent 110e102f
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -1968,11 +1968,14 @@ int ath10k_core_start(struct ath10k *ar, enum ath10k_firmware_mode mode,
	 * possible to implicitly make it correct by creating a dummy vdev and
	 * then deleting it.
	 */
	if (!QCA_REV_WCN3990(ar)) {
		status = ath10k_core_reset_rx_filter(ar);
		if (status) {
		ath10k_err(ar, "failed to reset rx filter: %d\n", status);
			ath10k_err(ar, "failed to reset rx filter: %d\n",
				   status);
			goto err_hif_stop;
		}
	}

	/* If firmware indicates Full Rx Reorder support it must be used in a
	 * slightly different manner. Let HTT code know.
+7 −5
Original line number Diff line number Diff line
@@ -2798,12 +2798,14 @@ static void ath10k_bss_disassoc(struct ieee80211_hw *hw,

	arvif->def_wep_key_idx = -1;

	if (!QCA_REV_WCN3990(ar)) {
		ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap);
		if (ret) {
			ath10k_warn(ar, "failed to recalc txbf for vdev %i: %d\n",
				    arvif->vdev_id, ret);
			return;
		}
	}

	arvif->is_up = false;