* rtl8192cu: slow path warning and connection problem v3.10-rc5 @ 2013-06-11 12:38 Richard GENOUD 2013-06-11 13:42 ` Richard Genoud 2013-06-26 14:22 ` rtl8192cu: slow path warning Richard GENOUD 0 siblings, 2 replies; 15+ messages in thread From: Richard GENOUD @ 2013-06-11 12:38 UTC (permalink / raw) To: Larry Finger; +Cc: Chaoming Li, John W. Linville, linux-wireless, linux-kernel Hi, I've got an usb wireless adapter TP-Link TL-WN725N http://www.tp-link.com/ca/products/details/?categoryid=241&model=TL-WN725N It is based on the rtl8192cu chip. I'm running a recent kernel (3.10-rc5) on a arm-based board (at91sam9g35-ek). and last linux-firmwares (2892af0) The problem I've got it that the device authenticates to the AP (with a slow path warning), but there's no traffic (I can't get an IP address from DHCP for example). Here is the log: ***Insert the TP-Link key [ 22.710937] usb 1-2.3: new high-speed USB device number 3 using atmel-ehci [ 22.828125] rtl8192cu: Chip version 0x10 [ 22.921875] rtl8192cu: MAC address: a0:f3:c1:1a:28:5f [ 22.929687] rtl8192cu: Board Type 0 [ 22.929687] rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1 [ 22.937500] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw.bin [ 22.953125] ieee80211 phy0: Selected rate control algorithm 'rtl_rc' [ 22.968750] rtlwifi: wireless switch is on # ip link set wlan0 up [ 34.656250] rtl8192cu: MAC auto ON okay! [ 34.695312] rtl8192cu: Tx queue select: 0x05 # iw dev wlan0 scan BSS 00:1c:10:69:90:fe (on wlan0) TSF: 1046528539 usec (0d, 00:17:26) freq: 2412 beacon interval: 100 capability: ESS ShortSlotTime (0x0401) signal: -58.00 dBm last seen: 500 ms ago Information elements from Probe Response frame: SSID: test Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 DS Parameter set: channel 1 TIM: DTIM Count 1 DTIM Period 2 Bitmap Control 0x0 Bitmap[0] 0x0 ERP: Barker_Preamble_Mode Extended supported rates: 24.0 36.0 48.0 54.0 # iw wlan0 connect test [ 51.851562] wlan0: authenticate with 00:1c:10:69:90:fe [ 51.859375] wlan0: Allocated STA 00:1c:10:69:90:fe [ 51.867187] wlan0: Inserted STA 00:1c:10:69:90:fe [ 51.875000] wlan0: direct probe to 00:1c:10:69:90:fe (try 1/3) # [ 52.078125] wlan0: direct probe to 00:1c:10:69:90:fe (try 2/3) [ 52.281250] wlan0: direct probe to 00:1c:10:69:90:fe (try 3/3) [ 52.484375] wlan0: authentication with 00:1c:10:69:90:fe timed out [ 52.484375] wlan0: Removed STA 00:1c:10:69:90:fe [ 52.492187] wlan0: Destroyed STA 00:1c:10:69:90:fe # iw wlan0 connect test # [ 70.718750] wlan0: authenticate with 00:1c:10:69:90:fe [ 70.718750] wlan0: Allocated STA 00:1c:10:69:90:fe [ 70.742187] wlan0: Inserted STA 00:1c:10:69:90:fe [ 70.742187] wlan0: send auth to 00:1c:10:69:90:fe (try 1/3) [ 70.757812] wlan0: authenticated [ 70.757812] wlan0: moving STA 00:1c:10:69:90:fe to state 2 [ 70.765625] rtl8192cu 1-2.3:1.0 wlan0: disabling HT as WMM/QoS is not supported by the AP [ 70.773437] rtl8192cu 1-2.3:1.0 wlan0: disabling VHT as WMM/QoS is not supported by the AP [ 70.789062] wlan0: associate with 00:1c:10:69:90:fe (try 1/3) [ 70.804687] wlan0: RX AssocResp from 00:1c:10:69:90:fe (capab=0x401 status=0 aid=1) [ 70.812500] wlan0: moving STA 00:1c:10:69:90:fe to state 3 [ 70.820312] wlan0: moving STA 00:1c:10:69:90:fe to state 4 [ 70.828125] wlan0: associated [ 71.187500] ------------[ cut here ]------------ [ 71.187500] WARNING: at kernel/workqueue.c:1365 __queue_work+0x180/0x1f8() [ 71.187500] CPU: 0 PID: 593 Comm: kworker/0:2 Not tainted 3.10.0-rc5-00133-g691a986 #6 [ 71.187500] Workqueue: rtl92c_usb rtl_watchdog_wq_callback [ 71.187500] [<c000d2a0>] (unwind_backtrace+0x0/0xf0) from [<c000ba34>] (show_stack+0x10/0x14) [ 71.187500] [<c000ba34>] (show_stack+0x10/0x14) from [<c00150fc>] (warn_slowpath_common+0x48/0x64) [ 71.187500] [<c00150fc>] (warn_slowpath_common+0x48/0x64) from [<c00151e0>] (warn_slowpath_null+0x1c/0x24) [ 71.187500] [<c00151e0>] (warn_slowpath_null+0x1c/0x24) from [<c0029878>] (__queue_work+0x180/0x1f8) [ 71.187500] [<c0029878>] (__queue_work+0x180/0x1f8) from [<c0029ee8>] (queue_work_on+0x44/0x50) [ 71.187500] [<c0029ee8>] (queue_work_on+0x44/0x50) from [<c01fd850>] (rtl_watchdog_wq_callback+0x290/0x4e0) [ 71.187500] [<c01fd850>] (rtl_watchdog_wq_callback+0x290/0x4e0) from [<c002a138>] (process_one_work+0x110/0x358) [ 71.187500] [<c002a138>] (process_one_work+0x110/0x358) from [<c002a728>] (worker_thread+0xf4/0x308) [ 71.187500] [<c002a728>] (worker_thread+0xf4/0x308) from [<c002f8b4>] (kthread+0xa4/0xb0) [ 71.187500] [<c002f8b4>] (kthread+0xa4/0xb0) from [<c00091b0>] (ret_from_fork+0x14/0x24) [ 71.187500] ---[ end trace 5f274d456b3a4c7f ]--- iw dev wlan0 link Connected to 00:1c:10:69:90:fe (on wlan0) SSID: test freq: 2412 RX: 8896 bytes (256 packets) TX: 80 bytes (2 packets) signal: -48 dBm tx bitrate: 1.0 MBit/s bss flags: short-slot-time dtim period: 0 beacon int: 100 # udhcpc -i wlan0 -f -n -q udhcpc (v1.21.0) started Sending discover... Sending discover... Sending discover... No lease, failing **** inserting another key (an older cisco/linksys WUSG54GC) # [ 108.875000] usb 1-2.2: new high-speed USB device number 4 using atmel-ehci [ 109.109375] usb 1-2.2: reset high-speed USB device number 4 using atmel-ehci [ 109.242187] ieee80211 phy1: rt2x00_set_rt: Info - RT chipset 3070, rev 0201 detected [ 109.265625] ieee80211 phy1: rt2x00_set_rf: Info - RF chipset 0006 detected [ 109.273437] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht' # ip link set wlan1 up [ 116.234375] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin' [ 116.250000] ieee80211 phy1: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29 # iw dev wlan1 scan BSS 00:1c:10:69:90:fe (on wlan1) TSF: 1144496990 usec (0d, 00:19:04) freq: 2412 beacon interval: 100 capability: ESS ShortSlotTime (0x0401) signal: -27.00 dBm last seen: 1429 ms ago SSID: test Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 DS Parameter set: channel 1 ERP: Barker_Preamble_Mode Extended supported rates: 24.0 36.0 48.0 54.0 BSS 00:17:9a:84:fb:94 (on wlan1) TSF: 5965523554325 usec (69d, 01:05:23) freq: 2437 beacon interval: 100 capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431) signal: -55.00 dBm last seen: 960 ms ago Information elements from Probe Response frame: SSID: paratronic Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 12.0 24.0 36.0 DS Parameter set: channel 6 Country: GB Environment: Indoor/Outdoor Channels [1 - 13] @ 14 dBm ERP: <no flags> Extended supported rates: 9.0 18.0 48.0 54.0 WMM: * Parameter version 1 * BE: CW 15-1023, AIFSN 3 * BK: CW 15-1023, AIFSN 7 * VI: CW 7-15, AIFSN 2, TXOP 3008 usec * VO: CW 3-7, AIFSN 2, TXOP 1504 usec # iw wlan1 connect test [ 135.710937] wlan1: authenticate with 00:1c:10:69:90:fe [ 135.718750] wlan1: Allocated STA 00:1c:10:69:90:fe [ 135.726562] wlan1: Inserted STA 00:1c:10:69:90:fe [ 135.734375] wlan1: send auth to 00:1c:10:69:90:fe (try 1/3) [ 135.742187] wlan1: authenticated [ 135.742187] wlan1: moving STA 00:1c:10:69:90:fe to state 2 # [ 135.750000] rt2800usb 1-2.2:1.0 wlan1: disabling HT as WMM/QoS is not supported by the AP [ 135.757812] rt2800usb 1-2.2:1.0 wlan1: disabling VHT as WMM/QoS is not supported by the AP [ 135.773437] wlan1: associate with 00:1c:10:69:90:fe (try 1/3) [ 135.773437] wlan1: RX AssocResp from 00:1c:10:69:90:fe (capab=0x401 status=0 aid=2) [ 135.789062] wlan1: moving STA 00:1c:10:69:90:fe to state 3 [ 135.796875] wlan1: moving STA 00:1c:10:69:90:fe to state 4 [ 135.812500] wlan1: associated # udhcpc -i wlan1 -f -n -q udhcpc (v1.21.0) started Sending discover... Sending select for 10.125.0.205... Lease of 10.125.0.205 obtained, lease time 60 deleting routers route: SIOCDELRT: No such process # ping 10.125.0.201 PING 10.125.0.201 (10.125.0.201): 56 data bytes \x03 --- 10.125.0.201 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss # ping 10.125.0.1 PING 10.125.0.1 (10.125.0.1): 56 data bytes 64 bytes from 10.125.0.1: seq=0 ttl=64 time=6.966 ms 64 bytes from 10.125.0.1: seq=1 ttl=64 time=2.677 ms 64 bytes from 10.125.0.1: seq=2 ttl=64 time=2.895 ms \x03 --- 10.125.0.1 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 2.677/4.179/6.966 ms # So it works allright with the other key, but not with the tp-link one. Did I do something wrong ? Regards, Richard. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning and connection problem v3.10-rc5 2013-06-11 12:38 rtl8192cu: slow path warning and connection problem v3.10-rc5 Richard GENOUD @ 2013-06-11 13:42 ` Richard Genoud 2013-06-26 14:22 ` rtl8192cu: slow path warning Richard GENOUD 1 sibling, 0 replies; 15+ messages in thread From: Richard Genoud @ 2013-06-11 13:42 UTC (permalink / raw) To: Larry Finger; +Cc: Chaoming Li, John W. Linville, linux-wireless, linux-kernel 2013/6/11 Richard GENOUD <richard.genoud@gmail.com>: > Hi, > > I've got an usb wireless adapter TP-Link TL-WN725N > http://www.tp-link.com/ca/products/details/?categoryid=241&model=TL-WN725N > It is based on the rtl8192cu chip. > I'm running a recent kernel (3.10-rc5) on a arm-based board (at91sam9g35-ek). > and last linux-firmwares (2892af0) > # iw wlan0 connect test > # [ 70.718750] wlan0: authenticate with 00:1c:10:69:90:fe > [ 70.718750] wlan0: Allocated STA 00:1c:10:69:90:fe > [ 70.742187] wlan0: Inserted STA 00:1c:10:69:90:fe > [ 70.742187] wlan0: send auth to 00:1c:10:69:90:fe (try 1/3) > [ 70.757812] wlan0: authenticated > [ 70.757812] wlan0: moving STA 00:1c:10:69:90:fe to state 2 > [ 70.765625] rtl8192cu 1-2.3:1.0 wlan0: disabling HT as WMM/QoS is not supported by the AP > [ 70.773437] rtl8192cu 1-2.3:1.0 wlan0: disabling VHT as WMM/QoS is not supported by the AP > [ 70.789062] wlan0: associate with 00:1c:10:69:90:fe (try 1/3) > [ 70.804687] wlan0: RX AssocResp from 00:1c:10:69:90:fe (capab=0x401 status=0 aid=1) > [ 70.812500] wlan0: moving STA 00:1c:10:69:90:fe to state 3 > [ 70.820312] wlan0: moving STA 00:1c:10:69:90:fe to state 4 > [ 70.828125] wlan0: associated > [ 71.187500] ------------[ cut here ]------------ > [ 71.187500] WARNING: at kernel/workqueue.c:1365 __queue_work+0x180/0x1f8() > [ 71.187500] CPU: 0 PID: 593 Comm: kworker/0:2 Not tainted 3.10.0-rc5-00133-g691a986 #6 > [ 71.187500] Workqueue: rtl92c_usb rtl_watchdog_wq_callback > [ 71.187500] [<c000d2a0>] (unwind_backtrace+0x0/0xf0) from [<c000ba34>] (show_stack+0x10/0x14) > [ 71.187500] [<c000ba34>] (show_stack+0x10/0x14) from [<c00150fc>] (warn_slowpath_common+0x48/0x64) > [ 71.187500] [<c00150fc>] (warn_slowpath_common+0x48/0x64) from [<c00151e0>] (warn_slowpath_null+0x1c/0x24) > [ 71.187500] [<c00151e0>] (warn_slowpath_null+0x1c/0x24) from [<c0029878>] (__queue_work+0x180/0x1f8) > [ 71.187500] [<c0029878>] (__queue_work+0x180/0x1f8) from [<c0029ee8>] (queue_work_on+0x44/0x50) > [ 71.187500] [<c0029ee8>] (queue_work_on+0x44/0x50) from [<c01fd850>] (rtl_watchdog_wq_callback+0x290/0x4e0) > [ 71.187500] [<c01fd850>] (rtl_watchdog_wq_callback+0x290/0x4e0) from [<c002a138>] (process_one_work+0x110/0x358) > [ 71.187500] [<c002a138>] (process_one_work+0x110/0x358) from [<c002a728>] (worker_thread+0xf4/0x308) > [ 71.187500] [<c002a728>] (worker_thread+0xf4/0x308) from [<c002f8b4>] (kthread+0xa4/0xb0) > [ 71.187500] [<c002f8b4>] (kthread+0xa4/0xb0) from [<c00091b0>] (ret_from_fork+0x14/0x24) > [ 71.187500] ---[ end trace 5f274d456b3a4c7f ]--- I've should have check this before, but the connection problem is corrected with the patch "rtlwifi: rtl8192cu: Fix problem in connecting to WEP or WPA(1) networks" Sorry for that... Anyway, running 3.10-rc5 with the for-davem wireless branch, I still have the slow path warning # iw wlan0 connect test # [ 42.226562] wlan0: authenticate with 00:1c:10:69:90:fe [ 42.226562] wlan0: Allocated STA 00:1c:10:69:90:fe [ 42.250000] wlan0: Inserted STA 00:1c:10:69:90:fe [ 42.250000] wlan0: send auth to 00:1c:10:69:90:fe (try 1/3) [ 42.281250] wlan0: authenticated [ 42.289062] wlan0: moving STA 00:1c:10:69:90:fe to state 2 [ 42.296875] rtl8192cu 1-2.3:1.0 wlan0: disabling HT as WMM/QoS is not supported by the AP [ 42.304687] rtl8192cu 1-2.3:1.0 wlan0: disabling VHT as WMM/QoS is not supported by the AP [ 42.312500] wlan0: associate with 00:1c:10:69:90:fe (try 1/3) [ 42.335937] wlan0: RX AssocResp from 00:1c:10:69:90:fe (capab=0x401 status=0 aid=1) [ 42.343750] wlan0: moving STA 00:1c:10:69:90:fe to state 3 [ 42.343750] wlan0: moving STA 00:1c:10:69:90:fe to state 4 [ 42.351562] wlan0: associated [ 44.179687] ------------[ cut here ]------------ [ 44.179687] WARNING: at kernel/workqueue.c:1365 __queue_work+0x180/0x1f8() [ 44.179687] CPU: 0 PID: 580 Comm: kworker/0:2 Not tainted 3.10.0-rc5-00150-g4b16b55 #10 [ 44.179687] Workqueue: rtl92c_usb rtl_watchdog_wq_callback [ 44.179687] [<c000d2a0>] (unwind_backtrace+0x0/0xf0) from [<c000ba34>] (show_stack+0x10/0x14) [ 44.179687] [<c000ba34>] (show_stack+0x10/0x14) from [<c00150fc>] (warn_slowpath_common+0x48/0x64) [ 44.179687] [<c00150fc>] (warn_slowpath_common+0x48/0x64) from [<c00151e0>] (warn_slowpath_null+0x1c/0x24) [ 44.179687] [<c00151e0>] (warn_slowpath_null+0x1c/0x24) from [<c0029878>] (__queue_work+0x180/0x1f8) [ 44.179687] [<c0029878>] (__queue_work+0x180/0x1f8) from [<c0029ee8>] (queue_work_on+0x44/0x50) [ 44.179687] [<c0029ee8>] (queue_work_on+0x44/0x50) from [<c01fd850>] (rtl_watchdog_wq_callback+0x290/0x4e0) [ 44.179687] [<c01fd850>] (rtl_watchdog_wq_callback+0x290/0x4e0) from [<c002a138>] (process_one_work+0x110/0x358) [ 44.179687] [<c002a138>] (process_one_work+0x110/0x358) from [<c002a728>] (worker_thread+0xf4/0x308) [ 44.179687] [<c002a728>] (worker_thread+0xf4/0x308) from [<c002f8b4>] (kthread+0xa4/0xb0) [ 44.179687] [<c002f8b4>] (kthread+0xa4/0xb0) from [<c00091b0>] (ret_from_fork+0x14/0x24) [ 44.179687] ---[ end trace d23aec3c204a06ee ]--- regards, Richard. ^ permalink raw reply [flat|nested] 15+ messages in thread
* rtl8192cu: slow path warning 2013-06-11 12:38 rtl8192cu: slow path warning and connection problem v3.10-rc5 Richard GENOUD 2013-06-11 13:42 ` Richard Genoud @ 2013-06-26 14:22 ` Richard GENOUD 2013-06-26 15:54 ` Larry Finger 1 sibling, 1 reply; 15+ messages in thread From: Richard GENOUD @ 2013-06-26 14:22 UTC (permalink / raw) To: Larry Finger; +Cc: Chaoming Li, John W. Linville, linux-wireless, linux-kernel On [mar., 11.06.2013 14:38:15], Richard GENOUD wrote: > Hi, > > I've got an usb wireless adapter TP-Link TL-WN725N > http://www.tp-link.com/ca/products/details/?categoryid=241&model=TL-WN725N > It is based on the rtl8192cu chip. > I'm running a recent kernel (3.10-rc5) on a arm-based board (at91sam9g35-ek). > and last linux-firmwares (2892af0) > > Here is the log: > ***Insert the TP-Link key > [ 22.710937] usb 1-2.3: new high-speed USB device number 3 using atmel-ehci > [ 22.828125] rtl8192cu: Chip version 0x10 > [ 22.921875] rtl8192cu: MAC address: a0:f3:c1:1a:28:5f > [ 22.929687] rtl8192cu: Board Type 0 > [ 22.929687] rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1 > [ 22.937500] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw.bin > [ 22.953125] ieee80211 phy0: Selected rate control algorithm 'rtl_rc' > [ 22.968750] rtlwifi: wireless switch is on > > # ip link set wlan0 up > [ 34.656250] rtl8192cu: MAC auto ON okay! > [ 34.695312] rtl8192cu: Tx queue select: 0x05 > # iw dev wlan0 scan > BSS 00:1c:10:69:90:fe (on wlan0) > TSF: 1046528539 usec (0d, 00:17:26) > freq: 2412 > beacon interval: 100 > capability: ESS ShortSlotTime (0x0401) > signal: -58.00 dBm > last seen: 500 ms ago > Information elements from Probe Response frame: > SSID: test > Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 > DS Parameter set: channel 1 > TIM: DTIM Count 1 DTIM Period 2 Bitmap Control 0x0 Bitmap[0] 0x0 > ERP: Barker_Preamble_Mode > Extended supported rates: 24.0 36.0 48.0 54.0 > # iw wlan0 connect test > [ 51.851562] wlan0: authenticate with 00:1c:10:69:90:fe > [ 51.859375] wlan0: Allocated STA 00:1c:10:69:90:fe > [ 51.867187] wlan0: Inserted STA 00:1c:10:69:90:fe > [ 51.875000] wlan0: direct probe to 00:1c:10:69:90:fe (try 1/3) > # [ 52.078125] wlan0: direct probe to 00:1c:10:69:90:fe (try 2/3) > [ 52.281250] wlan0: direct probe to 00:1c:10:69:90:fe (try 3/3) > [ 52.484375] wlan0: authentication with 00:1c:10:69:90:fe timed out > [ 52.484375] wlan0: Removed STA 00:1c:10:69:90:fe > [ 52.492187] wlan0: Destroyed STA 00:1c:10:69:90:fe > > # iw wlan0 connect test > # [ 70.718750] wlan0: authenticate with 00:1c:10:69:90:fe > [ 70.718750] wlan0: Allocated STA 00:1c:10:69:90:fe > [ 70.742187] wlan0: Inserted STA 00:1c:10:69:90:fe > [ 70.742187] wlan0: send auth to 00:1c:10:69:90:fe (try 1/3) > [ 70.757812] wlan0: authenticated > [ 70.757812] wlan0: moving STA 00:1c:10:69:90:fe to state 2 > [ 70.765625] rtl8192cu 1-2.3:1.0 wlan0: disabling HT as WMM/QoS is not supported by the AP > [ 70.773437] rtl8192cu 1-2.3:1.0 wlan0: disabling VHT as WMM/QoS is not supported by the AP > [ 70.789062] wlan0: associate with 00:1c:10:69:90:fe (try 1/3) > [ 70.804687] wlan0: RX AssocResp from 00:1c:10:69:90:fe (capab=0x401 status=0 aid=1) > [ 70.812500] wlan0: moving STA 00:1c:10:69:90:fe to state 3 > [ 70.820312] wlan0: moving STA 00:1c:10:69:90:fe to state 4 > [ 70.828125] wlan0: associated > [ 71.187500] ------------[ cut here ]------------ > [ 71.187500] WARNING: at kernel/workqueue.c:1365 __queue_work+0x180/0x1f8() > [ 71.187500] CPU: 0 PID: 593 Comm: kworker/0:2 Not tainted 3.10.0-rc5-00133-g691a986 #6 > [ 71.187500] Workqueue: rtl92c_usb rtl_watchdog_wq_callback > [ 71.187500] [<c000d2a0>] (unwind_backtrace+0x0/0xf0) from [<c000ba34>] (show_stack+0x10/0x14) > [ 71.187500] [<c000ba34>] (show_stack+0x10/0x14) from [<c00150fc>] (warn_slowpath_common+0x48/0x64) > [ 71.187500] [<c00150fc>] (warn_slowpath_common+0x48/0x64) from [<c00151e0>] (warn_slowpath_null+0x1c/0x24) > [ 71.187500] [<c00151e0>] (warn_slowpath_null+0x1c/0x24) from [<c0029878>] (__queue_work+0x180/0x1f8) > [ 71.187500] [<c0029878>] (__queue_work+0x180/0x1f8) from [<c0029ee8>] (queue_work_on+0x44/0x50) > [ 71.187500] [<c0029ee8>] (queue_work_on+0x44/0x50) from [<c01fd850>] (rtl_watchdog_wq_callback+0x290/0x4e0) > [ 71.187500] [<c01fd850>] (rtl_watchdog_wq_callback+0x290/0x4e0) from [<c002a138>] (process_one_work+0x110/0x358) > [ 71.187500] [<c002a138>] (process_one_work+0x110/0x358) from [<c002a728>] (worker_thread+0xf4/0x308) > [ 71.187500] [<c002a728>] (worker_thread+0xf4/0x308) from [<c002f8b4>] (kthread+0xa4/0xb0) > [ 71.187500] [<c002f8b4>] (kthread+0xa4/0xb0) from [<c00091b0>] (ret_from_fork+0x14/0x24) > [ 71.187500] ---[ end trace 5f274d456b3a4c7f ]--- Hi, Using 3.10-rc7, I'm still seeing the warning, BUT ONLY on the first connection. [ 40.312500] usb 2-2: default language 0x0409 [ 40.312500] usb 2-2: udev 2, busnum 2, minor = 129 [ 40.320312] usb 2-2: New USB device found, idVendor=0bda, idProduct=8176 [ 40.328125] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 40.328125] usb 2-2: Product: 802.11n WLAN Adapter [ 40.335937] usb 2-2: Manufacturer: Realtek [ 40.343750] usb 2-2: SerialNumber: 00e04c000001 [ 40.343750] usb 2-2: usb_probe_device [ 40.351562] usb 2-2: configuration #1 chosen from 1 choice [ 40.351562] usb 2-2: adding 2-2:1.0 (config #1, interface 0) [ 40.500000] cfg80211: Calling CRDA to update world regulatory domain [ 40.648437] rtl8192cu 2-2:1.0: usb_probe_interface [ 40.656250] rtl8192cu 2-2:1.0: usb_probe_interface - got id [ 40.664062] rtl8192cu: Chip version 0x10 [ 40.757812] rtl8192cu: MAC address: a0:f3:c1:1e:02:a0 [ 40.765625] rtl8192cu: Board Type 0 [ 40.773437] rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1 [ 40.773437] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw.bin [ 40.781250] usbcore: registered new interface driver rtl8192cu [ 40.835937] ieee80211 phy0: Selected rate control algorithm 'rtl_rc' [ 40.843750] rtlwifi: wireless switch is on # ip link set wlan0 up [ 59.921875] rtl8192cu: MAC auto ON okay! [ 59.960937] rtl8192cu: Tx queue select: 0x05 # iw wlan0 connect test [ 75.390625] wlan0: authenticate with f8:1a:67:1a:df:88 [ 75.421875] wlan0: send auth to f8:1a:67:1a:df:88 (try 1/3) [ 75.437500] wlan0: authenticated [ 75.453125] wlan0: associate with f8:1a:67:1a:df:88 (try 1/3) [ 75.460937] wlan0: RX AssocResp from f8:1a:67:1a:df:88 (capab=0x401 status=0 aid=2) [ 75.468750] wlan0: associated [ 76.375000] ------------[ cut here ]------------ [ 76.375000] WARNING: at kernel/workqueue.c:1365 __queue_work+0x168/0x200() [ 76.375000] Modules linked in: rtl8192cu rtl8192c_common rtlwifi mac80211 cfg80211 rfkill ehci_atmel ehci_hcd atmel_usba_udc udc_core ohci_hcd [ 76.375000] CPU: 0 PID: 308 Comm: kworker/0:1 Not tainted 3.10.0-rc7 #36 [ 76.375000] Workqueue: rtl92c_usb rtl_watchdog_wq_callback [rtlwifi] [ 76.375000] [<c000d9bc>] (unwind_backtrace+0x0/0xf0) from [<c000b9ec>] (show_stack+0x10/0x14) [ 76.375000] [<c000b9ec>] (show_stack+0x10/0x14) from [<c0015c00>] (warn_slowpath_common+0x4c/0x68) [ 76.375000] [<c0015c00>] (warn_slowpath_common+0x4c/0x68) from [<c0015c38>] (warn_slowpath_null+0x1c/0x24) [ 76.375000] [<c0015c38>] (warn_slowpath_null+0x1c/0x24) from [<c0029e40>] (__queue_work+0x168/0x200) [ 76.375000] [<c0029e40>] (__queue_work+0x168/0x200) from [<c0029f2c>] (queue_work_on+0x44/0x50) [ 76.375000] [<c0029f2c>] (queue_work_on+0x44/0x50) from [<bf09bb54>] (rtl_watchdog_wq_callback+0x320/0x404 [rtlwifi]) [ 76.375000] [<bf09bb54>] (rtl_watchdog_wq_callback+0x320/0x404 [rtlwifi]) from [<c002b168>] (process_one_work+0x10c/0x354) [ 76.375000] [<c002b168>] (process_one_work+0x10c/0x354) from [<c002b784>] (worker_thread+0x130/0x380) [ 76.375000] [<c002b784>] (worker_thread+0x130/0x380) from [<c0030330>] (kthread+0xa4/0xb0) [ 76.375000] [<c0030330>] (kthread+0xa4/0xb0) from [<c00092f0>] (ret_from_fork+0x14/0x24) [ 76.375000] ---[ end trace e116b4b3d671f3d2 ]--- # iw wlan0 disconnect [ 86.289062] wlan0: deauthenticating from f8:1a:67:1a:df:88 by local choice (reason=3) [ 86.312500] cfg80211: Calling CRDA to update world regulatory domain # iw wlan0 connect test [ 91.671875] wlan0: authenticate with f8:1a:67:1a:df:88 [ 91.687500] wlan0: send auth to f8:1a:67:1a:df:88 (try 1/3) [ 91.695312] wlan0: authenticated [ 91.710937] wlan0: associate with f8:1a:67:1a:df:88 (try 1/3) [ 91.718750] wlan0: RX AssocResp from f8:1a:67:1a:df:88 (capab=0x401 status=0 aid=1) [ 91.726562] wlan0: associated # iw wlan0 disconnect [ 98.929687] wlan0: deauthenticating from f8:1a:67:1a:df:88 by local choice (reason=3) [ 98.953125] cfg80211: Calling CRDA to update world regulatory domain # iw wlan0 connect test [ 101.554687] wlan0: authenticate with f8:1a:67:1a:df:88 [ 101.578125] wlan0: send auth to f8:1a:67:1a:df:88 (try 1/3) [ 101.585937] wlan0: authenticated [ 101.593750] wlan0: associate with f8:1a:67:1a:df:88 (try 1/3) [ 101.625000] wlan0: RX AssocResp from f8:1a:67:1a:df:88 (capab=0x401 status=0 aid=1) [ 101.632812] wlan0: associated [ 114.523437] wlan0: Connection to AP f8:1a:67:1a:df:88 lost [ 114.546875] cfg80211: Calling CRDA to update world regulatory domain Best regards, Richard. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-06-26 14:22 ` rtl8192cu: slow path warning Richard GENOUD @ 2013-06-26 15:54 ` Larry Finger 2013-06-27 7:33 ` Richard Genoud 0 siblings, 1 reply; 15+ messages in thread From: Larry Finger @ 2013-06-26 15:54 UTC (permalink / raw) To: Richard GENOUD Cc: Chaoming Li, John W. Linville, linux-wireless, linux-kernel [-- Attachment #1: Type: text/plain, Size: 3743 bytes --] On 06/26/2013 09:22 AM, Richard GENOUD wrote: > Using 3.10-rc7, I'm still seeing the warning, BUT ONLY on the first > connection. > > [ 40.312500] usb 2-2: default language 0x0409 > [ 40.312500] usb 2-2: udev 2, busnum 2, minor = 129 > [ 40.320312] usb 2-2: New USB device found, idVendor=0bda, idProduct=8176 > [ 40.328125] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 > [ 40.328125] usb 2-2: Product: 802.11n WLAN Adapter > [ 40.335937] usb 2-2: Manufacturer: Realtek > [ 40.343750] usb 2-2: SerialNumber: 00e04c000001 > [ 40.343750] usb 2-2: usb_probe_device > [ 40.351562] usb 2-2: configuration #1 chosen from 1 choice > [ 40.351562] usb 2-2: adding 2-2:1.0 (config #1, interface 0) > [ 40.500000] cfg80211: Calling CRDA to update world regulatory domain > [ 40.648437] rtl8192cu 2-2:1.0: usb_probe_interface > [ 40.656250] rtl8192cu 2-2:1.0: usb_probe_interface - got id > [ 40.664062] rtl8192cu: Chip version 0x10 > [ 40.757812] rtl8192cu: MAC address: a0:f3:c1:1e:02:a0 > [ 40.765625] rtl8192cu: Board Type 0 > [ 40.773437] rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1 > [ 40.773437] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw.bin > [ 40.781250] usbcore: registered new interface driver rtl8192cu > [ 40.835937] ieee80211 phy0: Selected rate control algorithm 'rtl_rc' > [ 40.843750] rtlwifi: wireless switch is on > # ip link set wlan0 up > [ 59.921875] rtl8192cu: MAC auto ON okay! > [ 59.960937] rtl8192cu: Tx queue select: 0x05 > # iw wlan0 connect test > [ 75.390625] wlan0: authenticate with f8:1a:67:1a:df:88 > [ 75.421875] wlan0: send auth to f8:1a:67:1a:df:88 (try 1/3) > [ 75.437500] wlan0: authenticated > [ 75.453125] wlan0: associate with f8:1a:67:1a:df:88 (try 1/3) > [ 75.460937] wlan0: RX AssocResp from f8:1a:67:1a:df:88 (capab=0x401 status=0 aid=2) > [ 75.468750] wlan0: associated > [ 76.375000] ------------[ cut here ]------------ > [ 76.375000] WARNING: at kernel/workqueue.c:1365 __queue_work+0x168/0x200() > [ 76.375000] Modules linked in: rtl8192cu rtl8192c_common rtlwifi mac80211 cfg80211 rfkill ehci_atmel ehci_hcd atmel_usba_udc udc_core ohci_hcd > [ 76.375000] CPU: 0 PID: 308 Comm: kworker/0:1 Not tainted 3.10.0-rc7 #36 > [ 76.375000] Workqueue: rtl92c_usb rtl_watchdog_wq_callback [rtlwifi] > [ 76.375000] [<c000d9bc>] (unwind_backtrace+0x0/0xf0) from [<c000b9ec>] (show_stack+0x10/0x14) > [ 76.375000] [<c000b9ec>] (show_stack+0x10/0x14) from [<c0015c00>] (warn_slowpath_common+0x4c/0x68) > [ 76.375000] [<c0015c00>] (warn_slowpath_common+0x4c/0x68) from [<c0015c38>] (warn_slowpath_null+0x1c/0x24) > [ 76.375000] [<c0015c38>] (warn_slowpath_null+0x1c/0x24) from [<c0029e40>] (__queue_work+0x168/0x200) > [ 76.375000] [<c0029e40>] (__queue_work+0x168/0x200) from [<c0029f2c>] (queue_work_on+0x44/0x50) > [ 76.375000] [<c0029f2c>] (queue_work_on+0x44/0x50) from [<bf09bb54>] (rtl_watchdog_wq_callback+0x320/0x404 [rtlwifi]) > [ 76.375000] [<bf09bb54>] (rtl_watchdog_wq_callback+0x320/0x404 [rtlwifi]) from [<c002b168>] (process_one_work+0x10c/0x354) > [ 76.375000] [<c002b168>] (process_one_work+0x10c/0x354) from [<c002b784>] (worker_thread+0x130/0x380) > [ 76.375000] [<c002b784>] (worker_thread+0x130/0x380) from [<c0030330>] (kthread+0xa4/0xb0) > [ 76.375000] [<c0030330>] (kthread+0xa4/0xb0) from [<c00092f0>] (ret_from_fork+0x14/0x24) > [ 76.375000] ---[ end trace e116b4b3d671f3d2 ]--- The WARNING is the result of a workqueue not being initialized for the USB driver. Please try the attached patch. As you have posted on a public mailing list, May I assume that it will be OK to use your address in Reported-by/Tested-by lines in the patch submission? Thanks, Larry [-- Attachment #2: rtl8192cu_init_work --] [-- Type: text/plain, Size: 1754 bytes --] Index: wireless-testing-save/drivers/net/wireless/rtlwifi/pci.c =================================================================== --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/pci.c +++ wireless-testing-save/drivers/net/wireless/rtlwifi/pci.c @@ -1008,7 +1008,7 @@ static void _rtl_pci_prepare_bcn_tasklet return; } -static void rtl_lps_change_work_callback(struct work_struct *work) +void rtl_lps_change_work_callback(struct work_struct *work) { struct rtl_works *rtlworks = container_of(work, struct rtl_works, lps_change_work); Index: wireless-testing-save/drivers/net/wireless/rtlwifi/ps.h =================================================================== --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/ps.h +++ wireless-testing-save/drivers/net/wireless/rtlwifi/ps.h @@ -49,5 +49,6 @@ void rtl_swlps_rf_awake(struct ieee80211 void rtl_swlps_rf_sleep(struct ieee80211_hw *hw); void rtl_p2p_ps_cmd(struct ieee80211_hw *hw, u8 p2p_ps_state); void rtl_p2p_info(struct ieee80211_hw *hw, void *data, unsigned int len); +void rtl_lps_change_work_callback(struct work_struct *work); #endif Index: wireless-testing-save/drivers/net/wireless/rtlwifi/usb.c =================================================================== --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/usb.c +++ wireless-testing-save/drivers/net/wireless/rtlwifi/usb.c @@ -1070,6 +1070,8 @@ int rtl_usb_probe(struct usb_interface * spin_lock_init(&rtlpriv->locks.usb_lock); INIT_WORK(&rtlpriv->works.fill_h2c_cmd, rtl_fill_h2c_cmd_work_callback); + INIT_WORK(&rtlpriv->works.lps_change_work, + rtl_lps_change_work_callback); rtlpriv->usb_data_index = 0; init_completion(&rtlpriv->firmware_loading_complete); ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-06-26 15:54 ` Larry Finger @ 2013-06-27 7:33 ` Richard Genoud 2013-06-27 14:38 ` Larry Finger ` (2 more replies) 0 siblings, 3 replies; 15+ messages in thread From: Richard Genoud @ 2013-06-27 7:33 UTC (permalink / raw) To: Larry Finger; +Cc: Chaoming Li, John W. Linville, linux-wireless, linux-kernel 2013/6/26 Larry Finger <Larry.Finger@lwfinger.net>: > On 06/26/2013 09:22 AM, Richard GENOUD wrote: >> >> Using 3.10-rc7, I'm still seeing the warning, BUT ONLY on the first >> connection. >> >> [ 40.312500] usb 2-2: default language 0x0409 >> [ 40.312500] usb 2-2: udev 2, busnum 2, minor = 129 >> [ 40.320312] usb 2-2: New USB device found, idVendor=0bda, >> idProduct=8176 >> [ 40.328125] usb 2-2: New USB device strings: Mfr=1, Product=2, >> SerialNumber=3 >> [ 40.328125] usb 2-2: Product: 802.11n WLAN Adapter >> [ 40.335937] usb 2-2: Manufacturer: Realtek >> [ 40.343750] usb 2-2: SerialNumber: 00e04c000001 >> [ 40.343750] usb 2-2: usb_probe_device >> [ 40.351562] usb 2-2: configuration #1 chosen from 1 choice >> [ 40.351562] usb 2-2: adding 2-2:1.0 (config #1, interface 0) >> [ 40.500000] cfg80211: Calling CRDA to update world regulatory domain >> [ 40.648437] rtl8192cu 2-2:1.0: usb_probe_interface >> [ 40.656250] rtl8192cu 2-2:1.0: usb_probe_interface - got id >> [ 40.664062] rtl8192cu: Chip version 0x10 >> [ 40.757812] rtl8192cu: MAC address: a0:f3:c1:1e:02:a0 >> [ 40.765625] rtl8192cu: Board Type 0 >> [ 40.773437] rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1 >> [ 40.773437] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw.bin >> [ 40.781250] usbcore: registered new interface driver rtl8192cu >> [ 40.835937] ieee80211 phy0: Selected rate control algorithm 'rtl_rc' >> [ 40.843750] rtlwifi: wireless switch is on >> # ip link set wlan0 up >> [ 59.921875] rtl8192cu: MAC auto ON okay! >> [ 59.960937] rtl8192cu: Tx queue select: 0x05 >> # iw wlan0 connect test >> [ 75.390625] wlan0: authenticate with f8:1a:67:1a:df:88 >> [ 75.421875] wlan0: send auth to f8:1a:67:1a:df:88 (try 1/3) >> [ 75.437500] wlan0: authenticated >> [ 75.453125] wlan0: associate with f8:1a:67:1a:df:88 (try 1/3) >> [ 75.460937] wlan0: RX AssocResp from f8:1a:67:1a:df:88 (capab=0x401 >> status=0 aid=2) >> [ 75.468750] wlan0: associated >> [ 76.375000] ------------[ cut here ]------------ >> [ 76.375000] WARNING: at kernel/workqueue.c:1365 >> __queue_work+0x168/0x200() >> [ 76.375000] Modules linked in: rtl8192cu rtl8192c_common rtlwifi >> mac80211 cfg80211 rfkill ehci_atmel ehci_hcd atmel_usba_udc udc_core >> ohci_hcd >> [ 76.375000] CPU: 0 PID: 308 Comm: kworker/0:1 Not tainted 3.10.0-rc7 >> #36 >> [ 76.375000] Workqueue: rtl92c_usb rtl_watchdog_wq_callback [rtlwifi] >> [ 76.375000] [<c000d9bc>] (unwind_backtrace+0x0/0xf0) from [<c000b9ec>] >> (show_stack+0x10/0x14) >> [ 76.375000] [<c000b9ec>] (show_stack+0x10/0x14) from [<c0015c00>] >> (warn_slowpath_common+0x4c/0x68) >> [ 76.375000] [<c0015c00>] (warn_slowpath_common+0x4c/0x68) from >> [<c0015c38>] (warn_slowpath_null+0x1c/0x24) >> [ 76.375000] [<c0015c38>] (warn_slowpath_null+0x1c/0x24) from >> [<c0029e40>] (__queue_work+0x168/0x200) >> [ 76.375000] [<c0029e40>] (__queue_work+0x168/0x200) from [<c0029f2c>] >> (queue_work_on+0x44/0x50) >> [ 76.375000] [<c0029f2c>] (queue_work_on+0x44/0x50) from [<bf09bb54>] >> (rtl_watchdog_wq_callback+0x320/0x404 [rtlwifi]) >> [ 76.375000] [<bf09bb54>] (rtl_watchdog_wq_callback+0x320/0x404 >> [rtlwifi]) from [<c002b168>] (process_one_work+0x10c/0x354) >> [ 76.375000] [<c002b168>] (process_one_work+0x10c/0x354) from >> [<c002b784>] (worker_thread+0x130/0x380) >> [ 76.375000] [<c002b784>] (worker_thread+0x130/0x380) from [<c0030330>] >> (kthread+0xa4/0xb0) >> [ 76.375000] [<c0030330>] (kthread+0xa4/0xb0) from [<c00092f0>] >> (ret_from_fork+0x14/0x24) >> [ 76.375000] ---[ end trace e116b4b3d671f3d2 ]--- > > > The WARNING is the result of a workqueue not being initialized for the USB > driver. > > Please try the attached patch. As you have posted on a public mailing list, > May I assume that it will be OK to use your address in Reported-by/Tested-by > lines in the patch submission? > > Thanks, > > Larry > Yes, of course, you can add my Reported-by: Richard Genoud <richard.genoud@gmail.com> But the patch doesn't compile on my platform ( since I'm on ARM, I haven't got a PCI bus, so rtlwifi/pci.c is not compiled ) : ERROR: "rtl_lps_change_work_callback" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! Best regards, Richard. PS: duckducking the warning, I found this automated report also : https://retrace.fedoraproject.org/faf/reports/142038/ -- for me, ck means con kolivas and not calvin klein... does it mean I'm a geek ? ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-06-27 7:33 ` Richard Genoud @ 2013-06-27 14:38 ` Larry Finger 2013-06-27 18:20 ` Larry Finger 2013-07-23 12:29 ` Paul Rolland 2 siblings, 0 replies; 15+ messages in thread From: Larry Finger @ 2013-06-27 14:38 UTC (permalink / raw) To: Richard Genoud Cc: Chaoming Li, John W. Linville, linux-wireless, linux-kernel On 06/27/2013 02:33 AM, Richard Genoud wrote: > > Yes, of course, you can add my > Reported-by: Richard Genoud <richard.genoud@gmail.com> > > But the patch doesn't compile on my platform ( since I'm on ARM, I > haven't got a PCI bus, so rtlwifi/pci.c is not compiled ) : > > ERROR: "rtl_lps_change_work_callback" > [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! I was planning on eventually reworking the problem to have only a single instance of that INIT_WORK() macro, rather than one for PCI and one for USB. The reason for delaying was that that fix would likely be too invasive for 3.10rc7 or for backporting to stable. Let me create that patch and I will get you a copy. Thanks for testing, Larry ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-06-27 7:33 ` Richard Genoud 2013-06-27 14:38 ` Larry Finger @ 2013-06-27 18:20 ` Larry Finger 2013-06-28 8:58 ` Richard GENOUD 2013-06-28 13:53 ` Maxime Ripard 2013-07-23 12:29 ` Paul Rolland 2 siblings, 2 replies; 15+ messages in thread From: Larry Finger @ 2013-06-27 18:20 UTC (permalink / raw) To: Richard Genoud Cc: Chaoming Li, John W. Linville, linux-wireless, linux-kernel, Maxime Ripard [-- Attachment #1: Type: text/plain, Size: 834 bytes --] On 06/27/2013 02:33 AM, Richard Genoud wrote: > Yes, of course, you can add my > Reported-by: Richard Genoud <richard.genoud@gmail.com> > > But the patch doesn't compile on my platform ( since I'm on ARM, I > haven't got a PCI bus, so rtlwifi/pci.c is not compiled ) : > > ERROR: "rtl_lps_change_work_callback" > [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! > > > Best regards, > Richard. > > PS: duckducking the warning, I found this automated report also : > https://retrace.fedoraproject.org/faf/reports/142038/ A revised patch for the warning is attached. The fix relatively simple and the only difference between this one and the earlier version is that routine rtl_lps_change_work_callback() was moved from pci.c to ps.c. As a result, it will be available for ARM and other architectures without a PCI bus. Larry [-- Attachment #2: rtl8192cu_init_work --] [-- Type: text/plain, Size: 2732 bytes --] Index: wireless-testing-save/drivers/net/wireless/rtlwifi/pci.c =================================================================== --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/pci.c +++ wireless-testing-save/drivers/net/wireless/rtlwifi/pci.c @@ -1008,19 +1008,6 @@ static void _rtl_pci_prepare_bcn_tasklet return; } -static void rtl_lps_change_work_callback(struct work_struct *work) -{ - struct rtl_works *rtlworks = - container_of(work, struct rtl_works, lps_change_work); - struct ieee80211_hw *hw = rtlworks->hw; - struct rtl_priv *rtlpriv = rtl_priv(hw); - - if (rtlpriv->enter_ps) - rtl_lps_enter(hw); - else - rtl_lps_leave(hw); -} - static void _rtl_pci_init_trx_var(struct ieee80211_hw *hw) { struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); Index: wireless-testing-save/drivers/net/wireless/rtlwifi/ps.h =================================================================== --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/ps.h +++ wireless-testing-save/drivers/net/wireless/rtlwifi/ps.h @@ -49,5 +49,6 @@ void rtl_swlps_rf_awake(struct ieee80211 void rtl_swlps_rf_sleep(struct ieee80211_hw *hw); void rtl_p2p_ps_cmd(struct ieee80211_hw *hw, u8 p2p_ps_state); void rtl_p2p_info(struct ieee80211_hw *hw, void *data, unsigned int len); +void rtl_lps_change_work_callback(struct work_struct *work); #endif Index: wireless-testing-save/drivers/net/wireless/rtlwifi/usb.c =================================================================== --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/usb.c +++ wireless-testing-save/drivers/net/wireless/rtlwifi/usb.c @@ -1070,6 +1070,8 @@ int rtl_usb_probe(struct usb_interface * spin_lock_init(&rtlpriv->locks.usb_lock); INIT_WORK(&rtlpriv->works.fill_h2c_cmd, rtl_fill_h2c_cmd_work_callback); + INIT_WORK(&rtlpriv->works.lps_change_work, + rtl_lps_change_work_callback); rtlpriv->usb_data_index = 0; init_completion(&rtlpriv->firmware_loading_complete); Index: wireless-testing-save/drivers/net/wireless/rtlwifi/ps.c =================================================================== --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/ps.c +++ wireless-testing-save/drivers/net/wireless/rtlwifi/ps.c @@ -611,6 +611,18 @@ void rtl_swlps_rf_sleep(struct ieee80211 MSECS(sleep_intv * mac->vif->bss_conf.beacon_int - 40)); } +void rtl_lps_change_work_callback(struct work_struct *work) +{ + struct rtl_works *rtlworks = + container_of(work, struct rtl_works, lps_change_work); + struct ieee80211_hw *hw = rtlworks->hw; + struct rtl_priv *rtlpriv = rtl_priv(hw); + + if (rtlpriv->enter_ps) + rtl_lps_enter(hw); + else + rtl_lps_leave(hw); +} void rtl_swlps_wq_callback(void *data) { ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-06-27 18:20 ` Larry Finger @ 2013-06-28 8:58 ` Richard GENOUD 2013-06-28 13:53 ` Maxime Ripard 1 sibling, 0 replies; 15+ messages in thread From: Richard GENOUD @ 2013-06-28 8:58 UTC (permalink / raw) To: Larry Finger Cc: Chaoming Li, John W. Linville, linux-wireless, linux-kernel, Maxime Ripard On [jeu., 27.06.2013 13:20:52], Larry Finger wrote: > On 06/27/2013 02:33 AM, Richard Genoud wrote: > >Yes, of course, you can add my > >Reported-by: Richard Genoud <richard.genoud@gmail.com> > > > >But the patch doesn't compile on my platform ( since I'm on ARM, I > >haven't got a PCI bus, so rtlwifi/pci.c is not compiled ) : > > > >ERROR: "rtl_lps_change_work_callback" > >[drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! > > > > > >Best regards, > >Richard. > > > >PS: duckducking the warning, I found this automated report also : > >https://retrace.fedoraproject.org/faf/reports/142038/ > > A revised patch for the warning is attached. The fix relatively > simple and the only difference between this one and the earlier > version is that routine rtl_lps_change_work_callback() was moved > from pci.c to ps.c. As a result, it will be available for ARM and > other architectures without a PCI bus. > > Larry > > > Index: wireless-testing-save/drivers/net/wireless/rtlwifi/pci.c > =================================================================== > --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/pci.c > +++ wireless-testing-save/drivers/net/wireless/rtlwifi/pci.c > @@ -1008,19 +1008,6 @@ static void _rtl_pci_prepare_bcn_tasklet > return; > } > > -static void rtl_lps_change_work_callback(struct work_struct *work) > -{ > - struct rtl_works *rtlworks = > - container_of(work, struct rtl_works, lps_change_work); > - struct ieee80211_hw *hw = rtlworks->hw; > - struct rtl_priv *rtlpriv = rtl_priv(hw); > - > - if (rtlpriv->enter_ps) > - rtl_lps_enter(hw); > - else > - rtl_lps_leave(hw); > -} > - > static void _rtl_pci_init_trx_var(struct ieee80211_hw *hw) > { > struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); > Index: wireless-testing-save/drivers/net/wireless/rtlwifi/ps.h > =================================================================== > --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/ps.h > +++ wireless-testing-save/drivers/net/wireless/rtlwifi/ps.h > @@ -49,5 +49,6 @@ void rtl_swlps_rf_awake(struct ieee80211 > void rtl_swlps_rf_sleep(struct ieee80211_hw *hw); > void rtl_p2p_ps_cmd(struct ieee80211_hw *hw, u8 p2p_ps_state); > void rtl_p2p_info(struct ieee80211_hw *hw, void *data, unsigned int len); > +void rtl_lps_change_work_callback(struct work_struct *work); > > #endif > Index: wireless-testing-save/drivers/net/wireless/rtlwifi/usb.c > =================================================================== > --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/usb.c > +++ wireless-testing-save/drivers/net/wireless/rtlwifi/usb.c > @@ -1070,6 +1070,8 @@ int rtl_usb_probe(struct usb_interface * > spin_lock_init(&rtlpriv->locks.usb_lock); > INIT_WORK(&rtlpriv->works.fill_h2c_cmd, > rtl_fill_h2c_cmd_work_callback); > + INIT_WORK(&rtlpriv->works.lps_change_work, > + rtl_lps_change_work_callback); > > rtlpriv->usb_data_index = 0; > init_completion(&rtlpriv->firmware_loading_complete); > Index: wireless-testing-save/drivers/net/wireless/rtlwifi/ps.c > =================================================================== > --- wireless-testing-save.orig/drivers/net/wireless/rtlwifi/ps.c > +++ wireless-testing-save/drivers/net/wireless/rtlwifi/ps.c > @@ -611,6 +611,18 @@ void rtl_swlps_rf_sleep(struct ieee80211 > MSECS(sleep_intv * mac->vif->bss_conf.beacon_int - 40)); > } > > +void rtl_lps_change_work_callback(struct work_struct *work) > +{ > + struct rtl_works *rtlworks = > + container_of(work, struct rtl_works, lps_change_work); > + struct ieee80211_hw *hw = rtlworks->hw; > + struct rtl_priv *rtlpriv = rtl_priv(hw); > + > + if (rtlpriv->enter_ps) > + rtl_lps_enter(hw); > + else > + rtl_lps_leave(hw); > +} > > void rtl_swlps_wq_callback(void *data) > { Tested the patch on 3.10-rc7, ARM at91sam9g35, usb key TP-link TL-WN725N. I haven't seen the WARNING any more. Tests done: (DHCP request) client with no security client WEP client WPA AP with no security AP WEP AP+WAP test failed (bust it was like that before the patch also) Tested-by: Richard Genoud <richard.genoud@gmail.com> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-06-27 18:20 ` Larry Finger 2013-06-28 8:58 ` Richard GENOUD @ 2013-06-28 13:53 ` Maxime Ripard 2013-06-28 14:16 ` Larry Finger 1 sibling, 1 reply; 15+ messages in thread From: Maxime Ripard @ 2013-06-28 13:53 UTC (permalink / raw) To: Larry Finger Cc: Richard Genoud, Chaoming Li, John W. Linville, linux-wireless, linux-kernel [-- Attachment #1: Type: text/plain, Size: 673 bytes --] Hi Larry, On Thu, Jun 27, 2013 at 01:20:52PM -0500, Larry Finger wrote: > A revised patch for the warning is attached. The fix relatively > simple and the only difference between this one and the earlier > version is that routine rtl_lps_change_work_callback() was moved > from pci.c to ps.c. As a result, it will be available for ARM and > other architectures without a PCI bus. I just tested it on top of 3.10-rc7 with an imx28, and it works fine. You can add my Tested-by: Maxime Ripard <maxime.ripard@free-electrons.com> Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-06-28 13:53 ` Maxime Ripard @ 2013-06-28 14:16 ` Larry Finger 0 siblings, 0 replies; 15+ messages in thread From: Larry Finger @ 2013-06-28 14:16 UTC (permalink / raw) To: Maxime Ripard Cc: Richard Genoud, Chaoming Li, John W. Linville, linux-wireless, linux-kernel On 06/28/2013 08:53 AM, Maxime Ripard wrote: > Hi Larry, > > On Thu, Jun 27, 2013 at 01:20:52PM -0500, Larry Finger wrote: >> A revised patch for the warning is attached. The fix relatively >> simple and the only difference between this one and the earlier >> version is that routine rtl_lps_change_work_callback() was moved >> from pci.c to ps.c. As a result, it will be available for ARM and >> other architectures without a PCI bus. > > I just tested it on top of 3.10-rc7 with an imx28, and it works fine. > > You can add my > Tested-by: Maxime Ripard <maxime.ripard@free-electrons.com> Sorry, I pushed the patch before I read this message, and I missed a Tested-by for you. I will wait for any feedback on the patch, and then send a V2. Thanks for testing. Larry ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-06-27 7:33 ` Richard Genoud 2013-06-27 14:38 ` Larry Finger 2013-06-27 18:20 ` Larry Finger @ 2013-07-23 12:29 ` Paul Rolland 2013-07-23 14:26 ` Paul Rolland 2013-07-23 15:05 ` Larry Finger 2 siblings, 2 replies; 15+ messages in thread From: Paul Rolland @ 2013-07-23 12:29 UTC (permalink / raw) To: Richard Genoud Cc: Larry Finger, Chaoming Li, John W. Linville, linux-wireless, linux-kernel, rol [-- Attachment #1: Type: text/plain, Size: 765 bytes --] Hello, On Thu, 27 Jun 2013 09:33:20 +0200 Richard Genoud <richard.genoud@gmail.com> wrote: > Yes, of course, you can add my > Reported-by: Richard Genoud <richard.genoud@gmail.com> > > But the patch doesn't compile on my platform ( since I'm on ARM, I > haven't got a PCI bus, so rtlwifi/pci.c is not compiled ) : > > ERROR: "rtl_lps_change_work_callback" > [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! Is that the reason why this patch is not yet in 3.10.x or 3.11-rcY ? I'm running a 3.10.1 with USB dongle including 8192CU, and I can see this warning when the machine starts. I've check 3.10.1, 3.10.2 and 3.11-rc3 source code, but this fix is not there. Is there a different fix that went in in 3.10.2 or 3.11-rc? Best, Paul [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-07-23 12:29 ` Paul Rolland @ 2013-07-23 14:26 ` Paul Rolland 2013-07-23 15:00 ` Richard Genoud 2013-07-23 15:05 ` Larry Finger 1 sibling, 1 reply; 15+ messages in thread From: Paul Rolland @ 2013-07-23 14:26 UTC (permalink / raw) To: Richard Genoud Cc: Paul Rolland, Larry Finger, Chaoming Li, John W. Linville, linux-wireless, linux-kernel [-- Attachment #1.1: Type: text/plain, Size: 1319 bytes --] Hello Richard, If you still have the required HW and still would like a patch to remove that warning on your machine, could you please try the attached one ? I slightly reworked the original patch by moving the function rtl_lps_change_work_callback from pci.c to ps.c. I've successfully compiled that on my machine, but I have PCI set in my .config, so I'd like your feedback. Best, Paul On Tue, 23 Jul 2013 14:29:07 +0200 Paul Rolland (ポール・ロラン) <rol@witbe.net> wrote: > Hello, > > On Thu, 27 Jun 2013 09:33:20 +0200 > Richard Genoud <richard.genoud@gmail.com> wrote: > > > Yes, of course, you can add my > > Reported-by: Richard Genoud <richard.genoud@gmail.com> > > > > But the patch doesn't compile on my platform ( since I'm on ARM, I > > haven't got a PCI bus, so rtlwifi/pci.c is not compiled ) : > > > > ERROR: "rtl_lps_change_work_callback" > > [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! > > Is that the reason why this patch is not yet in 3.10.x or 3.11-rcY ? > I'm running a 3.10.1 with USB dongle including 8192CU, and I can see this > warning when the machine starts. > I've check 3.10.1, 3.10.2 and 3.11-rc3 source code, but this fix is not > there. Is there a different fix that went in in 3.10.2 or 3.11-rc? > > Best, > Paul [-- Attachment #1.2: patch --] [-- Type: application/octet-stream, Size: 2461 bytes --] diff -uprN -X /usr/src/linux-3.10.2/Documentation/dontdiff rtlwifi.orig/pci.c rtlwifi/pci.c --- rtlwifi.orig/pci.c 2013-07-23 15:29:47.000000000 +0200 +++ rtlwifi/pci.c 2013-07-23 15:30:59.000000000 +0200 @@ -1008,19 +1008,6 @@ static void _rtl_pci_prepare_bcn_tasklet return; } -static void rtl_lps_change_work_callback(struct work_struct *work) -{ - struct rtl_works *rtlworks = - container_of(work, struct rtl_works, lps_change_work); - struct ieee80211_hw *hw = rtlworks->hw; - struct rtl_priv *rtlpriv = rtl_priv(hw); - - if (rtlpriv->enter_ps) - rtl_lps_enter(hw); - else - rtl_lps_leave(hw); -} - static void _rtl_pci_init_trx_var(struct ieee80211_hw *hw) { struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); diff -uprN -X /usr/src/linux-3.10.2/Documentation/dontdiff rtlwifi.orig/ps.c rtlwifi/ps.c --- rtlwifi.orig/ps.c 2013-07-23 15:29:47.000000000 +0200 +++ rtlwifi/ps.c 2013-07-23 15:49:50.000000000 +0200 @@ -922,3 +922,17 @@ void rtl_p2p_info(struct ieee80211_hw *h else rtl_p2p_noa_ie(hw, data, len - FCS_LEN); } + +void rtl_lps_change_work_callback(struct work_struct *work) +{ + struct rtl_works *rtlworks = + container_of(work, struct rtl_works, lps_change_work); + struct ieee80211_hw *hw = rtlworks->hw; + struct rtl_priv *rtlpriv = rtl_priv(hw); + + if (rtlpriv->enter_ps) + rtl_lps_enter(hw); + else + rtl_lps_leave(hw); +} + diff -uprN -X /usr/src/linux-3.10.2/Documentation/dontdiff rtlwifi.orig/ps.h rtlwifi/ps.h --- rtlwifi.orig/ps.h 2013-07-23 15:29:47.000000000 +0200 +++ rtlwifi/ps.h 2013-07-23 15:32:15.000000000 +0200 @@ -49,5 +49,6 @@ void rtl_swlps_rf_awake(struct ieee80211 void rtl_swlps_rf_sleep(struct ieee80211_hw *hw); void rtl_p2p_ps_cmd(struct ieee80211_hw *hw, u8 p2p_ps_state); void rtl_p2p_info(struct ieee80211_hw *hw, void *data, unsigned int len); +void rtl_lps_change_work_callback(struct work_struct *work); #endif diff -uprN -X /usr/src/linux-3.10.2/Documentation/dontdiff rtlwifi.orig/usb.c rtlwifi/usb.c --- rtlwifi.orig/usb.c 2013-07-23 15:29:47.000000000 +0200 +++ rtlwifi/usb.c 2013-07-23 15:32:51.000000000 +0200 @@ -1070,6 +1070,8 @@ int rtl_usb_probe(struct usb_interface * spin_lock_init(&rtlpriv->locks.usb_lock); INIT_WORK(&rtlpriv->works.fill_h2c_cmd, rtl_fill_h2c_cmd_work_callback); + INIT_WORK(&rtlpriv->works.lps_change_work, + rtl_lps_change_work_callback); rtlpriv->usb_data_index = 0; init_completion(&rtlpriv->firmware_loading_complete); [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-07-23 14:26 ` Paul Rolland @ 2013-07-23 15:00 ` Richard Genoud 0 siblings, 0 replies; 15+ messages in thread From: Richard Genoud @ 2013-07-23 15:00 UTC (permalink / raw) To: Paul Rolland Cc: Larry Finger, Chaoming Li, John W. Linville, linux-wireless, linux-kernel 2013/7/23 Paul Rolland <rol@witbe.net>: > Hello Richard, > > If you still have the required HW and still would like a patch to remove > that warning on your machine, could you please try the attached one ? > > I slightly reworked the original patch by moving the function > rtl_lps_change_work_callback from pci.c to ps.c. > > I've successfully compiled that on my machine, but I have PCI set in > my .config, so I'd like your feedback. > > Best, > Paul Hi Paul, Well, I don't know why this patch didn't make it to 3.11-rc1, but it seems that the patch you sent is the same as Larry's second patch : https://lkml.org/lkml/2013/6/27/548 Best regards, Richard. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-07-23 12:29 ` Paul Rolland 2013-07-23 14:26 ` Paul Rolland @ 2013-07-23 15:05 ` Larry Finger 2013-07-23 15:49 ` Paul Rolland 1 sibling, 1 reply; 15+ messages in thread From: Larry Finger @ 2013-07-23 15:05 UTC (permalink / raw) To: "Paul Rolland (ポール・ロラン)" Cc: Richard Genoud, Chaoming Li, John W. Linville, linux-wireless, linux-kernel On 07/23/2013 07:29 AM, Paul Rolland (ポール・ロラン) wrote: > Hello, > > On Thu, 27 Jun 2013 09:33:20 +0200 > Richard Genoud <richard.genoud@gmail.com> wrote: > >> Yes, of course, you can add my >> Reported-by: Richard Genoud <richard.genoud@gmail.com> >> >> But the patch doesn't compile on my platform ( since I'm on ARM, I >> haven't got a PCI bus, so rtlwifi/pci.c is not compiled ) : >> >> ERROR: "rtl_lps_change_work_callback" >> [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined! > > Is that the reason why this patch is not yet in 3.10.x or 3.11-rcY ? > I'm running a 3.10.1 with USB dongle including 8192CU, and I can see this > warning when the machine starts. > I've check 3.10.1, 3.10.2 and 3.11-rc3 source code, but this fix is not > there. Is there a different fix that went in in 3.10.2 or 3.11-rc? The reason that patch is not in mainline is that it takes time. If you want to have it, you can get the official patch from http://marc.info/?l=linux-wireless&m=137242880222442&w=2, or you need to implement kernels from the wireless-testing git tree, where it was added on June 28 as commit bcfb879. My original patch included the following note for John Linville: "Ideally, this patch should be pushed to the 3.10 stream; however, at this late time that is not possible. Please push it for 3.11 and the Cc to stable will get it into 3.10.X." As you see, it was marked with a Cc for Stable, and it will be propagated to 3.10 when it gets incorporated by Linus. I think I have done all that I can do for now. If you want to lobby Linus to get stuff accepted faster, that is your prerogative; however, I could not recommend that action, and I certainly will never do anything like that. Larry ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: rtl8192cu: slow path warning 2013-07-23 15:05 ` Larry Finger @ 2013-07-23 15:49 ` Paul Rolland 0 siblings, 0 replies; 15+ messages in thread From: Paul Rolland @ 2013-07-23 15:49 UTC (permalink / raw) To: Larry Finger Cc: Richard Genoud, Chaoming Li, John W. Linville, linux-wireless, linux-kernel, rol [-- Attachment #1: Type: text/plain, Size: 1360 bytes --] Hello Larry, On Tue, 23 Jul 2013 10:05:26 -0500 Larry Finger <Larry.Finger@lwfinger.net> wrote: > The reason that patch is not in mainline is that it takes time. If you > want to have it, you can get the official patch from > http://marc.info/?l=linux-wireless&m=137242880222442&w=2, or you need to > implement kernels from the wireless-testing git tree, where it was added > on June 28 as commit bcfb879. My original patch included the following > note for John Linville: > > "Ideally, this patch should be pushed to the 3.10 stream; however, at > this late time that is not possible. Please push it for 3.11 and the Cc > to stable will get it into 3.10.X." > > As you see, it was marked with a Cc for Stable, and it will be propagated > to 3.10 when it gets incorporated by Linus. I think I have done all that > I can do for now. > > If you want to lobby Linus to get stuff accepted faster, that is your > prerogative; however, I could not recommend that action, and I certainly > will never do anything like that. Neither will I... I was just wondering and asking, nothing else, as I'm also facing this warning. I'm glad to see the link you sent is presenting a patch that is the same as the one I prepared. I'm going to use that while waiting for the patch to hit mainline ! Thanks for replying, Best, Paul [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2013-07-23 15:51 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-06-11 12:38 rtl8192cu: slow path warning and connection problem v3.10-rc5 Richard GENOUD 2013-06-11 13:42 ` Richard Genoud 2013-06-26 14:22 ` rtl8192cu: slow path warning Richard GENOUD 2013-06-26 15:54 ` Larry Finger 2013-06-27 7:33 ` Richard Genoud 2013-06-27 14:38 ` Larry Finger 2013-06-27 18:20 ` Larry Finger 2013-06-28 8:58 ` Richard GENOUD 2013-06-28 13:53 ` Maxime Ripard 2013-06-28 14:16 ` Larry Finger 2013-07-23 12:29 ` Paul Rolland 2013-07-23 14:26 ` Paul Rolland 2013-07-23 15:00 ` Richard Genoud 2013-07-23 15:05 ` Larry Finger 2013-07-23 15:49 ` Paul Rolland
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).