mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
61 lines
2.6 KiB
Diff
61 lines
2.6 KiB
Diff
From fa62ff729a94c8527db2cbf21e51b21a3106ab75 Mon Sep 17 00:00:00 2001
|
|
From: Wright Feng <wright.feng@cypress.com>
|
|
Date: Mon, 20 Jul 2020 02:44:36 -0500
|
|
Subject: [PATCH 056/179] brcmfmac: update address mode via test tool for AP
|
|
mode
|
|
|
|
When setting interface type to AP mode via IOCTL test tool, we should
|
|
update proto address mode as well. Without it, the firmware creates
|
|
flowing type to STA and get incorrect flowing ID. In softAP mode, it
|
|
causes device cannot ping to other STAs which are in power saving mode.
|
|
|
|
Fixes: 65b06108e57a ("brcmfmac: set net carrier on via test tool for AP mode")
|
|
|
|
Signed-off-by: Wright Feng <wright.feng@cypress.com>
|
|
Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com>
|
|
---
|
|
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
|
|
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h | 2 +-
|
|
drivers/net/wireless/broadcom/brcm80211/brcmfmac/vendor.c | 1 +
|
|
3 files changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
|
index c09eb774a2bb..e49dd3506c05 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
|
@@ -492,7 +492,7 @@ send_key_to_dongle(struct brcmf_if *ifp, struct brcmf_wsec_key *key)
|
|
return err;
|
|
}
|
|
|
|
-static void
|
|
+void
|
|
brcmf_cfg80211_update_proto_addr_mode(struct wireless_dev *wdev)
|
|
{
|
|
struct brcmf_cfg80211_vif *vif;
|
|
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
|
|
index 2fe90639e65b..86a7d8ac912e 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
|
|
@@ -487,5 +487,5 @@ void brcmf_set_mpc(struct brcmf_if *ndev, int mpc);
|
|
void brcmf_abort_scanning(struct brcmf_cfg80211_info *cfg);
|
|
void brcmf_cfg80211_free_netdev(struct net_device *ndev);
|
|
bool brcmf_is_apmode_operating(struct wiphy *wiphy);
|
|
-
|
|
+void brcmf_cfg80211_update_proto_addr_mode(struct wireless_dev *wdev);
|
|
#endif /* BRCMFMAC_CFG80211_H */
|
|
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/vendor.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/vendor.c
|
|
index 0bad78d5f5c9..bf425d2c27bf 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/vendor.c
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/vendor.c
|
|
@@ -71,6 +71,7 @@ static int brcmf_cfg80211_vndr_cmds_dcmd_handler(struct wiphy *wiphy,
|
|
} else {
|
|
ifp->vif->wdev.iftype = NL80211_IFTYPE_STATION;
|
|
}
|
|
+ brcmf_cfg80211_update_proto_addr_mode(&vif->wdev);
|
|
}
|
|
|
|
if (cmdhdr->set)
|
|
--
|
|
2.17.1
|
|
|