diff options
| author | Deren Wu <deren.wu@mediatek.com> | 2022-06-08 20:53:26 +0800 |
|---|---|---|
| committer | Felix Fietkau <nbd@nbd.name> | 2022-07-11 13:40:01 +0200 |
| commit | 9d958b60ebc2434f2b7eae83d77849e22d1059eb (patch) | |
| tree | d6d74839a33426a2b3c7d0b1a719feed9e67ad88 /drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | |
| parent | c149d3a9058616ff942a6e44b6e968e18a84dd5a (diff) | |
| download | linux-9d958b60ebc2434f2b7eae83d77849e22d1059eb.tar.gz linux-9d958b60ebc2434f2b7eae83d77849e22d1059eb.tar.bz2 linux-9d958b60ebc2434f2b7eae83d77849e22d1059eb.zip | |
mt76: mt7921: fix command timeout in AP stop period
Due to AP stop improperly, mt7921 driver would face random command timeout
by chip fw problem. Migrate AP start/stop process to .start_ap/.stop_ap and
congiure BSS network settings in both hooks.
The new flow is shown below.
* AP start
.start_ap()
configure BSS network resource
set BSS to connected state
.bss_info_changed()
enable fw beacon offload
* AP stop
.bss_info_changed()
disable fw beacon offload (skip this command)
.stop_ap()
set BSS to disconnected state (beacon offload disabled automatically)
destroy BSS network resource
Fixes: 116c69603b01 ("mt76: mt7921: Add AP mode support")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c')
| -rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c index a963e51b7271..8c9b0f0b5c39 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c @@ -1404,6 +1404,8 @@ int mt76_connac_mcu_uni_add_bss(struct mt76_phy *phy, else conn_type = CONNECTION_INFRA_AP; basic_req.basic.conn_type = cpu_to_le32(conn_type); + /* Fully active/deactivate BSS network in AP mode only */ + basic_req.basic.active = enable; break; case NL80211_IFTYPE_STATION: if (vif->p2p) |
