diff options
Diffstat (limited to 'package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch')
-rw-r--r-- | package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch b/package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch new file mode 100644 index 0000000000..fb10e1ba6e --- /dev/null +++ b/package/mac80211/patches/868-brcmsmac-write-beacon-period-to-hardware.patch @@ -0,0 +1,23 @@ +--- a/drivers/net/wireless/brcm80211/brcmsmac/main.c ++++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c +@@ -5553,10 +5553,20 @@ static void brcms_c_time_unlock(struct b + + int brcms_c_set_beacon_period(struct brcms_c_info *wlc, u16 period) + { ++ u32 bcnint_us; ++ + if (period == 0) + return -EINVAL; + + wlc->default_bss->beacon_period = period; ++ ++ bcnint_us = period << 10; ++ brcms_c_time_lock(wlc); ++ bcma_write32(wlc->hw->d11core, D11REGOFFS(tsf_cfprep), ++ (bcnint_us << CFPREP_CBI_SHIFT)); ++ bcma_write32(wlc->hw->d11core, D11REGOFFS(tsf_cfpstart), bcnint_us); ++ brcms_c_time_unlock(wlc); ++ + return 0; + } + |