Return-path: Received: from mail-wg0-f42.google.com ([74.125.82.42]:38797 "EHLO mail-wg0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932261AbaBEGwX (ORCPT ); Wed, 5 Feb 2014 01:52:23 -0500 Received: by mail-wg0-f42.google.com with SMTP id l18so5142782wgh.5 for ; Tue, 04 Feb 2014 22:52:21 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: From: Andrew Wiley Date: Wed, 5 Feb 2014 00:52:01 -0600 Message-ID: (sfid-20140205_075329_541693_CA1FFF65) Subject: Re: mwifiex and SD8787: TX queue timeout in AP mode To: Avinash Patil Cc: "linux-wireless@vger.kernel.org" Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-wireless-owner@vger.kernel.org List-ID: Hello Avinash, On Tue, Feb 4, 2014 at 9:57 AM, Avinash Patil wrote: > Hi Andrew, > > I think this issue not specific to any interface as such. > > Do you have following fix in your tree: > > http://www.spinics.net/lists/linux-wireless/msg112753.html Yes. I'm running 3.13.1, which includes that fix. > > Also can you please try printing adapter->int_status during AP TX data timeout? I added a printk after the TX timeout warning and got this: [ 437.677151] ------------[ cut here ]------------ [ 437.681815] WARNING: CPU: 0 PID: 423 at net/sched/sch_generic.c:264 dev_watchdog+0x2d0/0x2f0() [ 437.690485] NETDEV WATCHDOG: uap0 (mwifiex_sdio): transmit queue 1 timed out [ 437.697580] Modules linked in: iptable_raw ipt_MASQUERADE xt_nat iptable_nat nf_nat_ipv4 nf_nat iptable_mangle xt_policy nf_conntrack_ipv4 xt_tcpudp nf_defrag_ipv4 bridge nf_conntrack_ipv6 nf_defrag_ipv6 stp llc xt_conntrack nf_conntrack iptable_filter ip6table_filter ip6_tables ip_tables x_tables hid_generic snd_usb_audio snd_usbmidi_lib mwifiex_sdio mwifiex snd_hwdep snd_rawmidi snd_seq_device snd_pcm snd_page_alloc snd_timer cfg80211 snd usbhid soundcore hid rfkill mv_cesa usbip_host(C) usbip_core(C) ipv6 autofs4 [ 437.743904] CPU: 0 PID: 423 Comm: tmux Tainted: G C 3.13.1-2-ARCH #1 [ 437.751189] [] (unwind_backtrace+0x0/0x128) from [] (show_stack+0x10/0x14) [ 437.759892] [] (show_stack+0x10/0x14) from [] (warn_slowpath_common+0x70/0x90) [ 437.768923] [] (warn_slowpath_common+0x70/0x90) from [] (warn_slowpath_fmt+0x30/0x40) [ 437.778563] [] (warn_slowpath_fmt+0x30/0x40) from [] (dev_watchdog+0x2d0/0x2f0) [ 437.787673] [] (dev_watchdog+0x2d0/0x2f0) from [] (call_timer_fn+0x30/0x170) [ 437.796512] [] (call_timer_fn+0x30/0x170) from [] (run_timer_softirq+0x1f8/0x368) [ 437.805798] [] (run_timer_softirq+0x1f8/0x368) from [] (__do_softirq+0xdc/0x304) [ 437.814997] [] (__do_softirq+0xdc/0x304) from [] (irq_exit+0xb0/0xf8) [ 437.823228] [] (irq_exit+0xb0/0xf8) from [] (handle_IRQ+0x34/0x84) [ 437.831199] [] (handle_IRQ+0x34/0x84) from [] (__irq_usr+0x38/0xa0) [ 437.839248] ---[ end trace 14ce7b4e4b0c47cb ]--- [ 437.843888] mwifiex_sdio mmc0:0001:1: 12617 : Tx timeout(#1), bss_type-num = 1-0 [ 437.851335] mwifiex_sdio mmc0:0001:1: adapter->int_status = 0 [ 447.676774] mwifiex_sdio mmc0:0001:1: 13601 : Tx timeout(#2), bss_type-num = 1-0 [ 447.684238] mwifiex_sdio mmc0:0001:1: adapter->int_status = 0 [ 457.676409] mwifiex_sdio mmc0:0001:1: 14601 : Tx timeout(#3), bss_type-num = 1-0 [ 457.683848] mwifiex_sdio mmc0:0001:1: adapter->int_status = 0 [ 467.676042] mwifiex_sdio mmc0:0001:1: 15601 : Tx timeout(#4), bss_type-num = 1-0 [ 467.683501] mwifiex_sdio mmc0:0001:1: adapter->int_status = 0 [ 477.675679] mwifiex_sdio mmc0:0001:1: 16601 : Tx timeout(#5), bss_type-num = 1-0 [ 477.683116] mwifiex_sdio mmc0:0001:1: adapter->int_status = 0 [ 487.675308] mwifiex_sdio mmc0:0001:1: 17601 : Tx timeout(#6), bss_type-num = 1-0 [ 487.682760] mwifiex_sdio mmc0:0001:1: adapter->int_status = 0 [ 497.674942] mwifiex_sdio mmc0:0001:1: 18601 : Tx timeout(#7), bss_type-num = 1-0 [ 497.682383] mwifiex_sdio mmc0:0001:1: adapter->int_status = 0 [ 497.688188] mwifiex_sdio mmc0:0001:1: tx_timeout_cnt exceeds threshold. Triggering card reset! [ 497.698397] mwifiex_sdio: Resetting card... The full log is at http://www.cs.utexas.edu/users/wiley/mwifiexlog_2.txt if you want to take a look - I didn't trim it down this time. It has debug output for mwifiex and mwifiex_sdio. Thanks, Andrew