]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
brcmfmac: Set timeout value when configuring power save
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Tue, 21 Jul 2020 11:23:02 +0000 (13:23 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Sep 2020 09:26:49 +0000 (11:26 +0200)
[ Upstream commit 3dc05ffb04436020f63138186dbc4f37bd938552 ]

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>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200721112302.22718-1-nsaenzjulienne@suse.de
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

index e3ebb7abbdaedcb6df4d06485c2c2f01f36eea3f..4ca50353538efa129935d3b09e0cac66bc44c2bd 100644 (file)
@@ -82,6 +82,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))
 
@@ -2789,6 +2791,12 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev,
                else
                        bphy_err(drvr, "error (%d)\n", err);
        }
+
+       err = brcmf_fil_iovar_int_set(ifp, "pm2_sleep_ret",
+                               min_t(u32, timeout, BRCMF_PS_MAX_TIMEOUT_MS));
+       if (err)
+               bphy_err(drvr, "Unable to set pm timeout, (%d)\n", err);
+
 done:
        brcmf_dbg(TRACE, "Exit\n");
        return err;