diff mbox series

wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled

Message ID 20230527222833.273741-1-marex@denx.de (mailing list archive)
State Accepted
Commit b241e260820b68c09586e8a0ae0fc23c0e3215bd
Delegated to: Kalle Valo
Headers show
Series wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled | expand

Commit Message

Marek Vasut May 27, 2023, 10:28 p.m. UTC
In case WoWlan was never configured during the operation of the system,
the hw->wiphy->wowlan_config will be NULL. rsi_config_wowlan() checks
whether wowlan_config is non-NULL and if it is not, then WARNs about it.
The warning is valid, as during normal operation the rsi_config_wowlan()
should only ever be called with non-NULL wowlan_config. In shutdown this
rsi_config_wowlan() should only ever be called if WoWlan was configured
before by the user.

Add checks for non-NULL wowlan_config into the shutdown hook. While at it,
check whether the wiphy is also non-NULL before accessing wowlan_config .
Drop the single-use wowlan_config variable, just inline it into function
call.

Fixes: 16bbc3eb8372 ("rsi: fix null pointer dereference during rsi_shutdown()")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Jilin Yuan <yuanjilin@cdjrlc.com>
Cc: Kalle Valo <kvalo@kernel.org>
Cc: Marek Vasut <marex@denx.de>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
---
 drivers/net/wireless/rsi/rsi_91x_sdio.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Simon Horman May 30, 2023, 7:36 a.m. UTC | #1
On Sun, May 28, 2023 at 12:28:33AM +0200, Marek Vasut wrote:
> In case WoWlan was never configured during the operation of the system,
> the hw->wiphy->wowlan_config will be NULL. rsi_config_wowlan() checks
> whether wowlan_config is non-NULL and if it is not, then WARNs about it.
> The warning is valid, as during normal operation the rsi_config_wowlan()
> should only ever be called with non-NULL wowlan_config. In shutdown this
> rsi_config_wowlan() should only ever be called if WoWlan was configured
> before by the user.
> 
> Add checks for non-NULL wowlan_config into the shutdown hook. While at it,
> check whether the wiphy is also non-NULL before accessing wowlan_config .
> Drop the single-use wowlan_config variable, just inline it into function
> call.
> 
> Fixes: 16bbc3eb8372 ("rsi: fix null pointer dereference during rsi_shutdown()")

nit: no blank line here

> Signed-off-by: Marek Vasut <marex@denx.de>

Reviewed-by: Simon Horman <simon.horman@corigine.com>
Simon Horman May 30, 2023, 7:37 a.m. UTC | #2
On Tue, May 30, 2023 at 09:36:36AM +0200, Simon Horman wrote:
> On Sun, May 28, 2023 at 12:28:33AM +0200, Marek Vasut wrote:
> > In case WoWlan was never configured during the operation of the system,
> > the hw->wiphy->wowlan_config will be NULL. rsi_config_wowlan() checks
> > whether wowlan_config is non-NULL and if it is not, then WARNs about it.
> > The warning is valid, as during normal operation the rsi_config_wowlan()
> > should only ever be called with non-NULL wowlan_config. In shutdown this
> > rsi_config_wowlan() should only ever be called if WoWlan was configured
> > before by the user.
> > 
> > Add checks for non-NULL wowlan_config into the shutdown hook. While at it,
> > check whether the wiphy is also non-NULL before accessing wowlan_config .
> > Drop the single-use wowlan_config variable, just inline it into function
> > call.
> > 
> > Fixes: 16bbc3eb8372 ("rsi: fix null pointer dereference during rsi_shutdown()")
> 
> nit: no blank line here

Sigh, there was no blank line here.
Sorry for the noise.

> > Signed-off-by: Marek Vasut <marex@denx.de>
> 
> Reviewed-by: Simon Horman <simon.horman@corigine.com>
Kalle Valo June 8, 2023, 4:01 p.m. UTC | #3
Marek Vasut <marex@denx.de> wrote:

> In case WoWlan was never configured during the operation of the system,
> the hw->wiphy->wowlan_config will be NULL. rsi_config_wowlan() checks
> whether wowlan_config is non-NULL and if it is not, then WARNs about it.
> The warning is valid, as during normal operation the rsi_config_wowlan()
> should only ever be called with non-NULL wowlan_config. In shutdown this
> rsi_config_wowlan() should only ever be called if WoWlan was configured
> before by the user.
> 
> Add checks for non-NULL wowlan_config into the shutdown hook. While at it,
> check whether the wiphy is also non-NULL before accessing wowlan_config .
> Drop the single-use wowlan_config variable, just inline it into function
> call.
> 
> Fixes: 16bbc3eb8372 ("rsi: fix null pointer dereference during rsi_shutdown()")
> Signed-off-by: Marek Vasut <marex@denx.de>
> Reviewed-by: Simon Horman <simon.horman@corigine.com>

Patch applied to wireless-next.git, thanks.

b241e260820b wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled
diff mbox series

Patch

diff --git a/drivers/net/wireless/rsi/rsi_91x_sdio.c b/drivers/net/wireless/rsi/rsi_91x_sdio.c
index d09998796ac08..6e33a2563fdbd 100644
--- a/drivers/net/wireless/rsi/rsi_91x_sdio.c
+++ b/drivers/net/wireless/rsi/rsi_91x_sdio.c
@@ -1463,10 +1463,8 @@  static void rsi_shutdown(struct device *dev)
 
 	rsi_dbg(ERR_ZONE, "SDIO Bus shutdown =====>\n");
 
-	if (hw) {
-		struct cfg80211_wowlan *wowlan = hw->wiphy->wowlan_config;
-
-		if (rsi_config_wowlan(adapter, wowlan))
+	if (hw && hw->wiphy && hw->wiphy->wowlan_config) {
+		if (rsi_config_wowlan(adapter, hw->wiphy->wowlan_config))
 			rsi_dbg(ERR_ZONE, "Failed to configure WoWLAN\n");
 	}