Message ID | 20230527222833.273741-1-marex@denx.de |
---|---|
State | New |
Headers | show |
Series | wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled | expand |
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>
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>
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 --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"); }
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(-)