linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: "Marek Vasut" <marex@denx.de>,
	"Alexis Lothoré" <alexis.lothore@bootlin.com>,
	"Kalle Valo" <kvalo@kernel.org>,
	"Sasha Levin" <sashal@kernel.org>,
	ajay.kathat@microchip.com, claudiu.beznea@tuxon.dev,
	linux-wireless@vger.kernel.org
Subject: [PATCH AUTOSEL 6.11 070/244] wifi: wilc1000: Do not operate uninitialized hardware during suspend/resume
Date: Wed, 25 Sep 2024 07:24:51 -0400	[thread overview]
Message-ID: <20240925113641.1297102-70-sashal@kernel.org> (raw)
In-Reply-To: <20240925113641.1297102-1-sashal@kernel.org>

From: Marek Vasut <marex@denx.de>

[ Upstream commit b0dc7018477e8fbb7e40c908c29cf663d06b17a7 ]

In case the hardware is not initialized, do not operate it during
suspend/resume cycle, the hardware is already off so there is no
reason to access it.

In fact, wilc_sdio_enable_interrupt() in the resume callback does
interfere with the same call when initializing the hardware after
resume and makes such initialization after resume fail. Fix this
by not operating uninitialized hardware during suspend/resume.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20240821183639.163187-1-marex@denx.de
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/wireless/microchip/wilc1000/sdio.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/wireless/microchip/wilc1000/sdio.c b/drivers/net/wireless/microchip/wilc1000/sdio.c
index 0043f7a0fdf97..7999aeb76901f 100644
--- a/drivers/net/wireless/microchip/wilc1000/sdio.c
+++ b/drivers/net/wireless/microchip/wilc1000/sdio.c
@@ -977,6 +977,9 @@ static int wilc_sdio_suspend(struct device *dev)
 
 	dev_info(dev, "sdio suspend\n");
 
+	if (!wilc->initialized)
+		return 0;
+
 	if (!IS_ERR(wilc->rtc_clk))
 		clk_disable_unprepare(wilc->rtc_clk);
 
@@ -999,6 +1002,10 @@ static int wilc_sdio_resume(struct device *dev)
 	struct wilc *wilc = sdio_get_drvdata(func);
 
 	dev_info(dev, "sdio resume\n");
+
+	if (!wilc->initialized)
+		return 0;
+
 	wilc_sdio_init(wilc, true);
 	wilc_sdio_enable_interrupt(wilc);
 
-- 
2.43.0


  parent reply	other threads:[~2024-09-25 11:39 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20240925113641.1297102-1-sashal@kernel.org>
2024-09-25 11:23 ` [PATCH AUTOSEL 6.11 002/244] wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats() Sasha Levin
2024-09-25 11:23 ` [PATCH AUTOSEL 6.11 003/244] wifi: rtw89: avoid to add interface to list twice when SER Sasha Levin
2024-09-25 11:23 ` [PATCH AUTOSEL 6.11 004/244] wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit Sasha Levin
2024-09-25 11:23 ` [PATCH AUTOSEL 6.11 010/244] wifi: iwlwifi: mvm: Fix a race in scan abort flow Sasha Levin
2024-09-25 11:23 ` [PATCH AUTOSEL 6.11 011/244] wifi: iwlwifi: mvm: drop wrong STA selection in TX Sasha Levin
2024-09-25 11:23 ` [PATCH AUTOSEL 6.11 012/244] wifi: cfg80211: Set correct chandef when starting CAC Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 024/244] wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 033/244] wifi: ath12k: fix array out-of-bound access in SoC stats Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 034/244] wifi: ath11k: " Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 035/244] wifi: rtw88: select WANT_DEV_COREDUMP Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 039/244] wifi: rtw89: 885xb: reset IDMEM mode to prevent download firmware failure Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 047/244] wifi: rtw89: correct base HT rate mask for firmware Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 058/244] wifi: iwlwifi: mvm: use correct key iteration Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 059/244] wifi: iwlwifi: allow only CN mcc from WRDD Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 060/244] wifi: iwlwifi: mvm: avoid NULL pointer dereference Sasha Levin
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 062/244] wifi: mac80211: fix RCU list iterations Sasha Levin
2024-09-25 11:24 ` Sasha Levin [this message]
2024-09-25 11:24 ` [PATCH AUTOSEL 6.11 076/244] wifi: rtw89: avoid reading out of bounds when loading TX power FW elements Sasha Levin
2024-09-25 11:25 ` [PATCH AUTOSEL 6.11 082/244] wifi: mt76: mt7915: add dummy HW offload of IEEE 802.11 fragmentation Sasha Levin
2024-09-25 11:25 ` [PATCH AUTOSEL 6.11 083/244] wifi: mt76: mt7915: hold dev->mt76.mutex while disabling tx worker Sasha Levin
2024-09-25 11:25 ` [PATCH AUTOSEL 6.11 085/244] wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext() Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240925113641.1297102-70-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=ajay.kathat@microchip.com \
    --cc=alexis.lothore@bootlin.com \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=kvalo@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).