mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-27 05:24:14 +02:00
38b0a09fbc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17312 3c298f89-4303-0410-b956-a3cf2f4a3e73
18 lines
640 B
Diff
18 lines
640 B
Diff
--- a/net80211/ieee80211_beacon.c
|
|
+++ b/net80211/ieee80211_beacon.c
|
|
@@ -476,6 +476,14 @@ ieee80211_beacon_update(struct ieee80211
|
|
tie->tim_bitctl |= BITCTL_BUFD_MCAST;
|
|
else
|
|
tie->tim_bitctl &= ~BITCTL_BUFD_MCAST;
|
|
+
|
|
+ /* WAR: on some platforms, a race condition between beacon
|
|
+ * contents update and beacon transmission leads to beacon
|
|
+ * data not being updated in time. For most fields this is
|
|
+ * not critical, but for powersave it is. Work around this
|
|
+ * by always remapping the beacon when the TIM IE changes.
|
|
+ */
|
|
+ len_changed = 1;
|
|
}
|
|
|
|
/* Whenever we want to switch to a new channel, we need to follow the
|