Hi Chris, > From: linux-wireless-owner@xxxxxxxxxxxxxxx [mailto:linux-wireless- > owner@xxxxxxxxxxxxxxx] On Behalf Of Chris Kuethe > Sent: Wednesday, October 28, 2015 12:46 AM > To: linux-wireless@xxxxxxxxxxxxxxx > Subject: problems with mwifiex_usb, hangs under load, firmware in bad > state > > Like others, I'm having problems with mwifiex_usb on a Surface 2 Pro, > with the latest firmware "driver_version = mwifiex 1.0 (14.68.29.p38)" > and the latest release candidate kernel (4.3.0rc7) > > Every 5-10 seconds, even while idle, I'll get a kernel message: > usb 1-2: Rx of mgmt packet failed > > Under load (a big scp or a couple of kernel source tarballs will do the > trick), I get a huge amount of log spam, one message per packet: > usb 1-2: data: -ENOSR is returned Thanks for reporting the problem. These two messages are actually warnings and not genuine error. They are expected during heavy traffic. I will submit a patch to suppress them. Meanwhile you can comment them out in your code. > > Occasionally I'll also see > usb 1-2: mwifiex_usb_submit_rx_urb: dev_alloc_skb failed Do your machine have enough space when this error occurs? Can you check if this problem is still observed when above two error messages are suppressed? > > After a while, I get the dreaded firmware bad state and the only fix is > to power cycle the machine. Suspend doesn't reset the hardware, and > attempting to rmmod/modprobe mwifiex_usb will crash my machine. > > usb 1-2: mwifiex_cmd_timeout_func: Timeout cmd id = 0x6, act = 0x3 usb > 1-2: num_data_h2c_failure = 0 usb 1-2: num_cmd_h2c_failure = 0 usb 1- > 2: is_cmd_timedout = 1 usb 1-2: num_tx_timeout = 0 usb 1-2: > last_cmd_index = 0 usb 1-2: last_cmd_id: 06 00 28 00 28 00 28 00 28 00 > usb 1-2: last_cmd_act: 03 00 13 00 13 00 13 00 13 00 usb 1-2: > last_cmd_resp_index = 4 usb 1-2: last_cmd_resp_id: 28 80 28 80 28 80 28 > 80 28 80 usb 1-2: last_event_index = 3 usb 1-2: last_event: 37 00 33 > 00 37 00 33 00 33 00 usb 1-2: data_sent=0 cmd_sent=0 usb 1-2: > ps_mode=0 ps_state=0 usb 1-2: Ignore scan. Card removed or firmware in > bad state usb 1-2: scan failed: -14 usb 1-2: Ignore scan. Card removed > or firmware in bad state usb 1-2: scan failed: -14 usb 1-2: Ignore > scan. Card removed or firmware in bad state usb 1-2: scan failed: -14 > usb 1-2: Ignore scan. Card removed or firmware in bad state usb 1-2: > scan failed: -14 usb 1-2: Ignore scan. Card removed or firmware in bad > state usb 1-2: scan failed: -14 usb 1-2: Ignore scan. Card removed or > firmware in bad state usb 1-2: scan failed: -14 usb 1-2: Ignore scan. > Card removed or firmware in bad state usb 1-2: scan failed: -14 usb 1- > 2: PREP_CMD: FW is in bad state usb 1-2: PREP_CMD: FW is in bad state > IPv6: ADDRCONF(NETDEV_UP): wlx281878fd2432: link is not ready usb 1-2: > PREP_CMD: FW is in bad state > > This is reproducible all the way up to 4.3.0-rc7 which includes the > patch from http://www.spinics.net/lists/netdev/msg334367.html > > that was suggested as a fix in > http://www.spinics.net/lists/linux-wireless/msg139095.html > > I was able to reproduce this with after turning up debugging (echo > 0xffffffff > /sys/kernel/debug/mwifiex/mlan0/debug_mask) - the resulting > trace is 1.4GB. Interested parties can contact me for a link, or tell me > what I should grep for... > > -- Can you remove those two messages and share the log to me for analysis? Also, share if there is any definite procedure so that we can try to recreate the issue at our end. Regards, Amitkumar ��.n��������+%������w��{.n�����{���zW����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f