Skip to content

Commit 42bbe30

Browse files
committed
brcmfmac: Add power_save_disable module parameter
The power_save_disable module parameter allows power management to be disabled from start of day, e.g. from a .conf file, without needing to run any commands from e.g. a systemd service. It also prevents any subsequent modifications unless the parameter is changed at runtime. N.B. With power management disabled in this way, commands such as "iw wlan0 get power_save" may indicated that it is enabled, but the output in the kernel log says otherwise: brcmfmac: brcmf_cfg80211_set_power_mgmt: power save disabled See: RPi-Distro/raspi-config#282 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
1 parent a79828b commit 42bbe30

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3300,6 +3300,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev,
33003300

33013301
brcmf_dbg(TRACE, "Enter\n");
33023302

3303+
enabled &= !brcmf_power_save_disable;
3304+
33033305
/*
33043306
* Powersave enable/disable request is coming from the
33053307
* cfg80211 even before the interface is up. In that

drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ int brcmf_msg_level;
4444
module_param_named(debug, brcmf_msg_level, int, 0600);
4545
MODULE_PARM_DESC(debug, "Level of debug output");
4646

47+
bool brcmf_power_save_disable = false;
48+
module_param_named(power_save_disable, brcmf_power_save_disable, bool, 0600);
49+
MODULE_PARM_DESC(power_save, "Disable WiFi power management");
50+
4751
static int brcmf_p2p_enable;
4852
module_param_named(p2pon, brcmf_p2p_enable, int, 0);
4953
MODULE_PARM_DESC(p2pon, "Enable legacy p2p management functionality");

drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ struct brcmf_mp_global_t {
3030

3131
extern struct brcmf_mp_global_t brcmf_mp_global;
3232

33+
extern bool brcmf_power_save_disable;
34+
3335
/**
3436
* struct brcmf_mp_device - Device module paramaters.
3537
*

0 commit comments

Comments
 (0)