Message ID | 20200707155410.12123-1-nsaenzjulienne@suse.de (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | brcmfmac: set timeout value when configuring power save | expand |
Nicolas Saenz Julienne <nsaenzjulienne@suse.de> writes: > Set the timeout value as per cfg80211's set_power_mgmt() request. If the > requested value value is left undefined we set it to 2 seconds, the > maximum supported value. > > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> > --- > > Note: I got the 2 seconds value from the Raspberry Pi downstream kernel. > > .../wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > index a757abd7a599..15578c6e87cd 100644 > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > @@ -84,6 +84,8 @@ > > #define BRCMF_ND_INFO_TIMEOUT msecs_to_jiffies(2000) > > +#define BRCMF_PS_MAX_TIMEOUT_MS 2000 > + > #define BRCMF_ASSOC_PARAMS_FIXED_SIZE \ > (sizeof(struct brcmf_assoc_params_le) - sizeof(u16)) > > @@ -2941,6 +2943,14 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, > else > bphy_err(drvr, "error (%d)\n", err); > } > + > + if ((u32)timeout > BRCMF_PS_MAX_TIMEOUT_MS) > + timeout = BRCMF_PS_MAX_TIMEOUT_MS; Wouldn't min_t() be better? Then you won't need the ugly cast either.
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index a757abd7a599..15578c6e87cd 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -84,6 +84,8 @@ #define BRCMF_ND_INFO_TIMEOUT msecs_to_jiffies(2000) +#define BRCMF_PS_MAX_TIMEOUT_MS 2000 + #define BRCMF_ASSOC_PARAMS_FIXED_SIZE \ (sizeof(struct brcmf_assoc_params_le) - sizeof(u16)) @@ -2941,6 +2943,14 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, else bphy_err(drvr, "error (%d)\n", err); } + + if ((u32)timeout > BRCMF_PS_MAX_TIMEOUT_MS) + timeout = BRCMF_PS_MAX_TIMEOUT_MS; + + err = brcmf_fil_iovar_int_set(ifp, "pm2_sleep_ret", timeout); + if (err) + bphy_err(drvr, "Unable to set pm timeout, (%d)\n", err); + done: brcmf_dbg(TRACE, "Exit\n"); return err;
Set the timeout value as per cfg80211's set_power_mgmt() request. If the requested value value is left undefined we set it to 2 seconds, the maximum supported value. Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> --- Note: I got the 2 seconds value from the Raspberry Pi downstream kernel. .../wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 10 ++++++++++ 1 file changed, 10 insertions(+)