Search Linux Wireless

RE: [PATCH] iwlwifi: mld: fix building with CONFIG_PM_SLEEP disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Arnd Bergmann <arnd@xxxxxxxxxx>
> Sent: Tuesday, 25 March 2025 10:44
> To: Korenblit, Miriam Rachel <miriam.rachel.korenblit@xxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>; Berg, Johannes
> <johannes.berg@xxxxxxxxx>; Grumbach, Emmanuel
> <emmanuel.grumbach@xxxxxxxxx>; Berg, Benjamin <benjamin.berg@xxxxxxxxx>;
> Anjaneyulu, Pagadala Yesu <pagadala.yesu.anjaneyulu@xxxxxxxxx>; linux-
> wireless@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] iwlwifi: mld: fix building with CONFIG_PM_SLEEP disabled
> 
> From: Arnd Bergmann <arnd@xxxxxxxx>
> 
> The newly added driver causes multiple build problems when CONFIG_PM_SLEEP
> is
> disabled:
> 
> drivers/net/wireless/intel/iwlwifi/mld/mac80211.c:1982:12: error:
> 'iwl_mld_resume' defined but not used [-Werror=unused-function]
>  1982 | static int iwl_mld_resume(struct ieee80211_hw *hw)
>       |            ^~~~~~~~~~~~~~
> drivers/net/wireless/intel/iwlwifi/mld/mac80211.c:1960:1: error:
> 'iwl_mld_suspend' defined but not used [-Werror=unused-function]
>  1960 | iwl_mld_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan
> *wowlan)
>       | ^~~~~~~~~~~~~~~
> drivers/net/wireless/intel/iwlwifi/mld/mac80211.c:1946:13: error:
> 'iwl_mld_set_wakeup' defined but not used [-Werror=unused-function]
>  1946 | static void iwl_mld_set_wakeup(struct ieee80211_hw *hw, bool enabled)
>       |             ^~~~~~~~~~~~~~~~~~
> drivers/net/wireless/intel/iwlwifi/mld/mac80211.c: In function
> 'iwl_mld_mac80211_start':
> drivers/net/wireless/intel/iwlwifi/mld/mac80211.c:504:20: error: 'ret' is used
> uninitialized [-Werror=uninitialized]
>   504 |         if (!in_d3 || ret) {
>       |                    ^~
> drivers/net/wireless/intel/iwlwifi/mld/mac80211.c:478:13: note: 'ret' was
> declared here
>   478 |         int ret;
>       |             ^~~
> 
> Hide the unused functions and make sure the 'ret' variable is not used before the
> initialization.
> 
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
>  drivers/net/wireless/intel/iwlwifi/mld/mac80211.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
> b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
> index 6851064b82da..0b5bc5abb82d 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
> @@ -501,7 +501,7 @@ int iwl_mld_mac80211_start(struct ieee80211_hw *hw)
>  		iwl_mld_restart_cleanup(mld);
>  	}
> 
> -	if (!in_d3 || ret) {
> +	if (!in_d3) {

Then where do you handle the in_d3 && ret case?

>  		ret = iwl_mld_start_fw(mld);
>  		if (ret)
>  			goto error;
> @@ -537,7 +537,8 @@ void iwl_mld_mac80211_stop(struct ieee80211_hw *hw,
> bool suspend)
>  	/* if the suspend flow fails the fw is in error. Stop it here, and it
>  	 * will be started upon wakeup
>  	 */
> -	if (!suspend || iwl_mld_no_wowlan_suspend(mld))
> +	if (!suspend ||
> +	    (IS_ENABLED(CONFIG_PM_SLEEP) &&
> iwl_mld_no_wowlan_suspend(mld)))
>  		iwl_mld_stop_fw(mld);
> 
>  	/* HW is stopped, no more coming RX. OTOH, the worker can't run as the
> @@ -1943,6 +1944,7 @@ static void iwl_mld_sta_rc_update(struct
> ieee80211_hw *hw,
>  	}
>  }
> 
> +#ifdef CONFIG_PM_SLEEP
>  static void iwl_mld_set_wakeup(struct ieee80211_hw *hw, bool enabled)  {
>  	struct iwl_mld *mld = IWL_MAC80211_GET_MLD(hw); @@ -1994,6
> +1996,7 @@ static int iwl_mld_resume(struct ieee80211_hw *hw)
> 
>  	return 0;
>  }
> +#endif
> 
>  static int iwl_mld_alloc_ptk_pn(struct iwl_mld *mld,
>  				struct iwl_mld_sta *mld_sta,
> --
> 2.39.5
> 





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux