diff options
Diffstat (limited to 'package/mac80211/patches/872-brcmsmac-deactivate-ucode-sending-probe-responses.patch')
-rw-r--r-- | package/mac80211/patches/872-brcmsmac-deactivate-ucode-sending-probe-responses.patch | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/package/mac80211/patches/872-brcmsmac-deactivate-ucode-sending-probe-responses.patch b/package/mac80211/patches/872-brcmsmac-deactivate-ucode-sending-probe-responses.patch deleted file mode 100644 index 9c150b1547..0000000000 --- a/package/mac80211/patches/872-brcmsmac-deactivate-ucode-sending-probe-responses.patch +++ /dev/null @@ -1,59 +0,0 @@ ---- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c -+++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c -@@ -554,6 +554,12 @@ brcms_ops_bss_info_changed(struct ieee80 - /* Beaconing should be enabled/disabled (beaconing modes) */ - brcms_err(core, "%s: Beacon enabled: %s\n", __func__, - info->enable_beacon ? "true" : "false"); -+ if (info->enable_beacon && -+ hw->wiphy->flags & WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD) { -+ brcms_c_enable_probe_resp(wl->wlc, true); -+ } else { -+ brcms_c_enable_probe_resp(wl->wlc, false); -+ } - } - - if (changed & BSS_CHANGED_CQM) { -@@ -1048,7 +1054,12 @@ static int ieee_hw_init(struct ieee80211 - hw->channel_change_time = 7 * 1000; - hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION); - -- hw->wiphy->flags |= WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD; -+ /* -+ * deactivate sending probe responses by ucude, because this will -+ * cause problems when WPS is used. -+ * -+ * hw->wiphy->flags |= WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD; -+ */ - - hw->rate_control_algorithm = "minstrel_ht"; - ---- a/drivers/net/wireless/brcm80211/brcmsmac/main.c -+++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c -@@ -7484,6 +7484,17 @@ void brcms_c_set_new_probe_resp(struct b - brcms_c_update_probe_resp(wlc, false); - } - -+void brcms_c_enable_probe_resp(struct brcms_c_info *wlc, bool enable) -+{ -+ /* -+ * prevent ucode from sending probe responses by setting the timeout -+ * to 1, it can not send it in that time frame. -+ */ -+ wlc->prb_resp_timeout = enable ? BRCMS_PRB_RESP_TIMEOUT : 1; -+ brcms_b_write_shm(wlc->hw, M_PRS_MAXTIME, wlc->prb_resp_timeout); -+ /* TODO: if (enable) => also deactivate receiving of probe request */ -+} -+ - /* Write ssid into shared memory */ - static void - brcms_c_shm_ssid_upd(struct brcms_c_info *wlc, struct brcms_bss_cfg *cfg) ---- a/drivers/net/wireless/brcm80211/brcmsmac/pub.h -+++ b/drivers/net/wireless/brcm80211/brcmsmac/pub.h -@@ -338,6 +338,7 @@ extern void brcms_c_set_new_beacon(struc - u16 dtim_period); - extern void brcms_c_set_new_probe_resp(struct brcms_c_info *wlc, - struct sk_buff *probe_resp); -+extern void brcms_c_enable_probe_resp(struct brcms_c_info *wlc, bool enable); - extern void brcms_c_set_ssid(struct brcms_c_info *wlc, u8 *ssid, - size_t ssid_len); - |