mirror-linux/drivers/net
Ping-Ke Shih a7e9c2e407 wifi: rtw88: correct PS calculation for SUPPORTS_DYNAMIC_PS
commit 3918dd0177 upstream.

This driver relies on IEEE80211_CONF_PS of hw->conf.flags to turn off PS or
turn on dynamic PS controlled by driver and firmware. Though this would be
incorrect, it did work before because the flag is always recalculated until
the commit 28977e790b ("wifi: mac80211: skip powersave recalc if driver SUPPORTS_DYNAMIC_PS")
is introduced by kernel 5.20 to skip to recalculate IEEE80211_CONF_PS
of hw->conf.flags if driver sets SUPPORTS_DYNAMIC_PS.

Correct this by doing recalculation while BSS_CHANGED_PS is changed and
interface is added or removed. It is allowed to enter PS only if single
one station vif is working. Without this fix, driver doesn't enter PS
anymore that causes higher power consumption.

Fixes: bcde60e599 ("rtw88: remove misleading module parameter rtw_fw_support_lps")
Cc: stable@vger.kernel.org # 6.1+
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230527082939.11206-2-pkshih@realtek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-06-14 11:15:34 +02:00
..
appletalk
arcnet
bonding net: fix stack overflow when LRO is disabled for virtual interfaces 2023-05-30 14:03:20 +01:00
caif
can can: kvaser_pciefd: Disable interrupts in probe error path 2023-05-24 17:32:50 +01:00
dsa net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods 2023-06-14 11:15:16 +02:00
ethernet bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks 2023-06-14 11:15:23 +02:00
fddi
fjes
hamradio
hippi
hyperv
ieee802154 ca8210: Fix unsigned mac_len comparison with zero in ca8210_skb_tx() 2023-04-06 12:10:42 +02:00
ipa net: ipa: compute DMA pool size properly 2023-04-06 12:10:48 +02:00
ipvlan ipvlan:Fix out-of-bounds caused by unclear skb->cb 2023-05-24 17:32:32 +01:00
mctp
mdio net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe() 2023-05-24 17:32:31 +01:00
netdevsim
pcs net: pcs: xpcs: fix C73 AN not getting enabled 2023-05-24 17:32:47 +01:00
phy net: sfp: fix state loss when updating state_hw_mask 2023-06-14 11:15:15 +02:00
plip
ppp
pse-pd
slip
team net: fix stack overflow when LRO is disabled for virtual interfaces 2023-05-30 14:03:20 +01:00
usb net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818 2023-06-09 10:34:20 +02:00
vmxnet3 vmxnet3: use gro callback when UPT is enabled 2023-04-06 12:10:52 +02:00
vxlan
wan
wireguard wireguard: timers: cast enum limits members to int in prints 2023-05-11 23:02:58 +09:00
wireless wifi: rtw88: correct PS calculation for SUPPORTS_DYNAMIC_PS 2023-06-14 11:15:34 +02:00
wwan net: wwan: t7xx: Ensure init is completed before system sleep 2023-06-09 10:34:15 +02:00
xen-netback xen/netback: use same error messages for same errors 2023-04-26 14:28:37 +02:00
Kconfig
LICENSE.SRC
Makefile
Space.c
amt.c
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
loopback.c
macsec.c
macvlan.c
macvtap.c
mdio.c
mhi_net.c
mii.c
net_failover.c net/net_failover: fix txq exceeding warning 2023-04-06 12:10:46 +02:00
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c
tap.c net: add vlan_get_protocol_and_depth() helper 2023-05-24 17:32:32 +01:00
thunderbolt.c
tun.c tun: Fix memory leak for detached NAPI queue. 2023-05-24 17:32:47 +01:00
veth.c
virtio_net.c virtio_net: use control_buf for coalesce params 2023-06-14 11:15:28 +02:00
vrf.c
vsockmon.c
xen-netfront.c