[OpenWrt-Devel] [PATCH] mac80211: squelch WARN_ON_ONCE() caused by inbalanced set/clear of beacon enable it.
Yousong Zhou
yszhou4tech at gmail.com
Sun Jul 13 19:39:11 EDT 2014
A WARN_ON_ONCE() dump was triggered on a MT7620A based device with
following config. Ticket #17032 can be closed with this patch.
config wifi-iface
option device radio0
option network lan
option mode ap
option ssid OpenWrt__T
option encryption none
config wifi-iface
option device radio0
option network lan
option mode ap
option ssid OpenWrt__TT
option encryption none
The dumped warning message.
[ 23.890000] ------------[ cut here ]------------
[ 23.900000] WARNING: at /home/yousong/trunk-openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800lib.c:1092 rt2800_conf_tx+0x3c8/0x494 [rt2800lib]()
[ 23.940000] Modules linked in: rt2800soc rt2800pci rt2800mmio
rt2800lib pppoe ppp_async iptable_nat rt2x00soc rt2x00pci rt2x00mmio
rt2x00lib pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv4 mac80211
ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_tcpmss xt_string
xt_statistic xt_state xt_recent xt_nat xt_multiport xt_mark xt_mac
xt_limit xt_length xt_hl xt_helper xt_ecn xt_dscp xt_conntrack
xt_connmark xt_connlimit xt_connbytes xt_comment xt_TCPMSS xt_REDIRECT
xt_LOG xt_HL xt_DSCP xt_CT xt_CLASSIFY ts_kmp ts_fsm ts_bm slhc
nf_nat_irc nf_nat_ftp nf_nat nf_defrag_ipv4 nf_conntrack_irc
nf_conntrack_ftp iptable_raw iptable_mangle iptable_filter ipt_REJECT
ipt_ECN ip_tables crc_itu_t crc_ccitt compat act_connmark act_skbedit
act_mirred em_u32 cls_u32 cls_tcindex cls_flow cls_route cls_fw sch_hfsc
sch_ingress ledtrig_usbdev ip6t_REJECT ip6table_raw ip6table_mangle
ip6table_filter ip6_tables x_tables nf_conntrack_ipv6 nf_conntrack
nf_defrag_ipv6 ifb ipv6 eeprom_93cx6 arc4 crypto_blkcipher leds_gpio
gpio_button_hotplug usbcore nls_base usb_common
[ 24.130000] CPU: 0 PID: 1502 Comm: hostapd Not tainted 3.10.44 #17
[ 24.140000] Stack : 00000000 00000000 00000000 00000000 80322eea 00000036 8390f818 83154140
80282f60 802d31fb 000005de 80322694 8390f818 83154140 00000008 0000001c
00000001 8001f00c 00000003 8001ca78 83173bd8 83154140 802847ec 82897794
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 82897720
...
[ 24.210000] Call Trace:
[ 24.220000] [<800121b4>] show_stack+0x48/0x70
[ 24.220000] [<8001cb74>] warn_slowpath_common+0x78/0xa8
[ 24.240000] [<8001cc2c>] warn_slowpath_null+0x18/0x24
[ 24.250000] [<83164078>] rt2800_conf_tx+0x3c8/0x494 [rt2800lib]
[ 24.260000]
[ 24.260000] ---[ end trace ff7bf97509953be2 ]---
---
.../911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 package/kernel/mac80211/patches/911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch
diff --git a/package/kernel/mac80211/patches/911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch b/package/kernel/mac80211/patches/911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch
new file mode 100644
index 0000000..9154bda
--- /dev/null
+++ b/package/kernel/mac80211/patches/911-rt2x00-rt2x00lib-fix-beacon-bit-balance.patch
@@ -0,0 +1,11 @@
+--- a/drivers/net/wireless/rt2x00/rt2x00mac.c
++++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
+@@ -651,7 +651,7 @@ void rt2x00mac_bss_info_changed(struct i
+ * Upload beacon to the H/W. This is only required on
+ * USB devices. PCI devices fetch beacons periodically.
+ */
+- if (rt2x00_is_usb(rt2x00dev))
++ if (!rt2x00_is_pci(rt2x00dev))
+ rt2x00queue_update_beacon(rt2x00dev, vif);
+
+ if (rt2x00dev->intf_beaconing == 1) {
--
1.7.10.4
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list