From nobody Sat Feb 7 17:41:11 2026 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 457DE31A068 for ; Fri, 2 Jan 2026 20:03:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767384206; cv=none; b=HYSxRpqsJ7UYj0XhDz5sGBM7YNEjhYYjvnLdjumw5BWSPc5oEtjhPFnqCEnt3x16irC5G798xj1NWJu8VuluFdfcfbc89tsZz82Pp7juoRCyIwTn5AxiGdH95EEETOkrAIqjlO13DQwPf9NF19YPdhToVHbCHzrksP1Z12iewOY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767384206; c=relaxed/simple; bh=cw8rk6kKEQyjbIA4Ch6Mou0UKqG7YDgnKyApEftbNtE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sio27eGYSP41PFa9pLmnBFuaOc73KHhLm43pBuoJdftewBGlmgUfkjmIHX5wUwfMmJwMhj4aozLi5t/pjwuGLUrwFqGxTwk8d44KOvDk7lpCKeXJnqqY54KI7ZFGqFoKEmf1/WDTVBJ5Dq9l48lfWz5ykW6ncAMJgQBMAoFZRuY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=R/T6X/q8; arc=none smtp.client-ip=209.85.216.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="R/T6X/q8" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-34e730f5fefso13765741a91.0 for ; Fri, 02 Jan 2026 12:03:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767384204; x=1767989004; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rOTwbgpeLN5pXgDisgz/s6pvtJgX11/afdNTzS5QM/M=; b=R/T6X/q8Rri8KKMF7Ln7PegrjLAsz40Hkn+DN3jAxTa42/ZUyG+RI635ROxhPUe8/Z Sp4BCEfm4dlKHK9/YbcJcdUtZaq8KZmGX8ZLqbONwFxjLm4bkWdr2ouq1spOE6QBusnx YXDsO6MA5ekcHfcIlZVe6Mz+seYME6EwTxryWiLJkXyZLy9jMUKRkSk7ZYdF4CIzFuNR V476kHHVmHxlKKqS/8AfsxtmE58I4XNgyKvSLTCLgso121KMimZHXuRhEeTMHgPs1LxM KvIVCwzZSFakSao0Ng3Kglg26EcvTfzNfH1x1XQiYsyDmbEaprF9w3bkv9UWhMc5U3Lx UT8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767384204; x=1767989004; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=rOTwbgpeLN5pXgDisgz/s6pvtJgX11/afdNTzS5QM/M=; b=xBC46aNoJAQmqSLhujQwIuSPuvkuCrtKVns6/dLbow9PihWYwxKjq/temz+S69Zv9b 22xzesYnYLGVvMTMzip4fUqf4KVmpjA4D2a6tmGzUniQlNHQb9N5lmpnWq7a/V11E55f 8EWwCQCU7z6l/p+53QqVeIk+27krtD2y+j9uVZXTM2Sw5KZ74zKXVuw8kvBHBCSScb+Z K3c/L/wNUly0yIBy2ghih/oSXgp93kTWC3r+ITESfcK/znO+oZmKFclh0KJnzWeo6NXf 5RHOJFmclgIt8IhqoY5+ODsfxEUF9s4L6hJ+nsTA8cT26zgaG5WPcXz05JTjV6xnVuZj DAMg== X-Forwarded-Encrypted: i=1; AJvYcCUro+2EyXMm4ebJDyVhAzdL7crziAT1LQ7miO5qjyaNPRXwrDaNDn7sBWcvtAVSsaGoJv3dsdvR/rsbVjk=@vger.kernel.org X-Gm-Message-State: AOJu0YySLyJdgtrHiat3j+aLJTqTU1V+tQu4KBNveIkSWuiJaFT3A0T2 NvqBOrxOMmo5FcaMajjcax9YRkwNJxUhpInPsALnHhONkJdwUL1yOPnA X-Gm-Gg: AY/fxX6UGwlMXWRcaQPnFMnwAutpAUGOSoOffV6Yrj1xdCNqVvUasRyqmUyne4uEunY thxbpvWy7uuxG6rHvTdNded9kecHCJgM9Nfqd0de7JcpY82P9ceDLkHduFRJQbbDyFP0XcSP5sM MIp3p6lF5Z6sJn3Yqon1u87k8ALvTPI2Oa5HfQ2Gw7QSTJc+4CIA/NBRRZKc9/oOZE3RNcJhTzz vgEr4ByZceYc/GwdkrH6q7XHSkgeSP3qaTj1kKvWo6miVDSEi+awRhvWvF0yY1BanmklHj9L8Nh gAWTbq3XIKyidgEEDbqoq0s8vPggnIh8TnHGpqWJR9bCDlVZt5ryjGaocjfZj0BJsc+u0xx+GZX v5+PG3g0YsulK95KSfDfidSlRVQWpd/BeGG9LKicTAxarVy5qQgsZva+8tRGpXVj8GL1ipzr0nZ XOlMsoE3yzm6z7FTP965W8v6iaOxG5blBhsOiT7IUHMv3AGxTyAN2KxAqIUPEiPpE= X-Google-Smtp-Source: AGHT+IF84sKN8CnkJa4viQsaxDmj4nFuQ05LM/gZRcXeDb11Nou8i1NdOUdfSg4R18Yx3AAJrxHd9w== X-Received: by 2002:a05:7022:699d:b0:11f:3483:bba6 with SMTP id a92af1059eb24-121722b2861mr39252551c88.13.1767384203373; Fri, 02 Jan 2026 12:03:23 -0800 (PST) Received: from zubuntu.bengal-mercat.ts.net ([2001:5a8:60d:bc9:9ebf:dff:fe00:f8f2]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1217253bfe2sm120203795c88.10.2026.01.02.12.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Jan 2026 12:03:22 -0800 (PST) From: Zac Bowling To: zbowling@gmail.com Cc: deren.wu@mediatek.com, kvalo@kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-wireless@vger.kernel.org, lorenzo@kernel.org, nbd@nbd.name, ryder.lee@mediatek.com, sean.wang@mediatek.com Subject: [PATCH] wifi: mt76: mt7925: add mutex protection in resume path Date: Fri, 2 Jan 2026 12:03:14 -0800 Message-ID: <20260102200315.290015-6-zbowling@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260102200315.290015-1-zbowling@gmail.com> References: <20260101062543.186499-1-zbowling@gmail.com> <20260102200315.290015-1-zbowling@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zac Bowling Add mutex protection around mt7925_mcu_set_deep_sleep() and mt7925_regd_update() calls in the resume path to prevent potential race conditions during resume operations. These MCU operations require serialization, and the resume path was the only call site missing mutex protection. Found by static analysis (sparse/coccinelle). --- drivers/net/wireless/mediatek/mt76/mt7925/pci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c b/drivers/net/= wireless/mediatek/mt76/mt7925/pci.c index ca868619e1b7..b6c90c5f7e91 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/pci.c @@ -583,10 +583,12 @@ static int _mt7925_pci_resume(struct device *device, = bool restore) } =20 /* restore previous ds setting */ + mt792x_mutex_acquire(dev); if (!pm->ds_enable) mt7925_mcu_set_deep_sleep(dev, false); =20 mt7925_regd_update(dev); + mt792x_mutex_release(dev); failed: pm->suspended =3D false; =20 --=20 2.51.0