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

Commit dcf39637 authored by Alexei Avshalom Lazar's avatar Alexei Avshalom Lazar
Browse files

wil6210: update the disconnect sequence for the IPA disconnect



In the disconnect flow, descriptor ring being freed before the
IPA pipe being disabled.
disable/disconnect the IPA pipe before freeing the descriptor ring.

Change-Id: I4c953306660e0bd2d60585d0f84d8a7ed63c821e
Signed-off-by: default avatarAlexei Avshalom Lazar <ailizaro@codeaurora.org>
parent 75d4a367
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -297,15 +297,16 @@ __acquires(&sta->tid_rx_lock) __releases(&sta->tid_rx_lock)
	/* crypto context */
	memset(sta->tid_crypto_rx, 0, sizeof(sta->tid_crypto_rx));
	memset(&sta->group_crypto_rx, 0, sizeof(sta->group_crypto_rx));

	if (wil->ipa_handle)
		wil_ipa_disconn_client(wil->ipa_handle, cid);

	/* release vrings */
	for (i = min_ring_id; i < ARRAY_SIZE(wil->ring_tx); i++) {
		if (wil->ring2cid_tid[i][0] == cid)
			wil_ring_fini_tx(wil, i);
	}

	if (wil->ipa_handle)
		wil_ipa_disconn_client(wil->ipa_handle, cid);

	/* statistics */
	memset(&sta->stats, 0, sizeof(sta->stats));
	sta->stats.tx_latency_min_us = U32_MAX;