From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 43CA5381E96; Thu, 2 Jul 2026 16:36:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783010189; cv=none; b=Zrv5u4IlUxVEns5PxbmjrbIemI7PuSX9pJrSfNYOPOQIYHiIGHzT6iGh6fCXfu22dG8R9uYKyzzqV1JeJPXKox1fKC9K+FTSt6LwAu8IsgYSxIC+WFgxQRcOEjK061tmqIObvYYNtmw3LO4i8Nj8Nk4JtZ2CsD9sjl6WAW2hsK0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783010189; c=relaxed/simple; bh=ytqUiSsTNhYLAILCVnoHDgsO8TcX+x+ZllYCsK5jaV4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LTQsdEkdad28SUArUhJaBXftrBb00XUH2s91EHXJN/HL2YYzykMrp8bLGOOPRpClkAdrV7yP0w1Y0/iJwGIUdWdhLis5KH+a13MH5CqeTjSYzsOVDASrrrviiL45ImONuGsRXmPmhTQQUuq68BsRL4SzHCHn9RF+Nw2stxSePVw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=GG3gTmUJ; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="GG3gTmUJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A38DC1F000E9; Thu, 2 Jul 2026 16:36:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1783010188; bh=3voZ4Y/24NFSgewxkivPoYoZWcJbKd/iYhA+zxogsqw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=GG3gTmUJsZx0pzIBqveUkIKHTAoE4pj8Amr+86uIGop3/xKZTbA7T72DGRX9AW9PL aUcF2SiYIsLyJSdqV4J3NO5zbkB5zeuTDjS2nL+CkRNwAV0YBJUsSHG+GIIlL0GRcG Y673ImT1jqb0ZUCEz0zrkYnmZnnB2x3I7GTI24nQ= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Quan Zhou , Sean Wang , David Ruth , Felix Fietkau , Ajrat Makhmutov , Sasha Levin Subject: [PATCH 6.12 002/204] wifi: mt76: mt7921: fix a potential scan no APs Date: Thu, 2 Jul 2026 18:17:39 +0200 Message-ID: <20260702155118.720145294@linuxfoundation.org> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260702155118.667618796@linuxfoundation.org> References: <20260702155118.667618796@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.12-stable review patch. If anyone has any objections, please let me know. ------------------ From: Quan Zhou commit 5ed54896b6bd444223092cab361b0785932119ab upstream. In multi-channel scenarios, the granted channel must be aborted before station remove. Otherwise, the firmware will be put into a wrong state, resulting in have chance to make subsequence scan no APs. With this patch, the granted channel will be always aborted before station remove. Signed-off-by: Quan Zhou Reviewed-by: Sean Wang Tested-by: David Ruth Reviewed-by: David Ruth Link: https://patch.msgid.link/1ac1ae779db86d4012199a24ea2ca74050ed4af6.1721300411.git.quan.zhou@mediatek.com Signed-off-by: Felix Fietkau Signed-off-by: Ajrat Makhmutov Signed-off-by: Sasha Levin --- drivers/net/wireless/mediatek/mt76/mt7921/main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/main.c b/drivers/net/wireless/mediatek/mt76/mt7921/main.c index a93ae4e44f16a4..f2fffca868b519 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/main.c @@ -368,9 +368,9 @@ void mt7921_roc_abort_sync(struct mt792x_dev *dev) del_timer_sync(&phy->roc_timer); cancel_work_sync(&phy->roc_work); if (test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state)) - ieee80211_iterate_active_interfaces(mt76_hw(dev), - IEEE80211_IFACE_ITER_RESUME_ALL, - mt7921_roc_iter, (void *)phy); + ieee80211_iterate_interfaces(mt76_hw(dev), + IEEE80211_IFACE_ITER_RESUME_ALL, + mt7921_roc_iter, (void *)phy); } EXPORT_SYMBOL_GPL(mt7921_roc_abort_sync); @@ -881,6 +881,7 @@ void mt7921_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif, struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); struct mt792x_sta *msta = (struct mt792x_sta *)sta->drv_priv; + mt7921_roc_abort_sync(dev); mt76_connac_free_pending_tx_skbs(&dev->pm, &msta->deflink.wcid); mt76_connac_pm_wake(&dev->mphy, &dev->pm); -- 2.53.0