From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Daniel Drake <dsd@laptop.org>,
Bing Zhao <bzhao@marvell.com>,
"John W. Linville" <linville@tuxdriver.com>
Subject: [ 18/50] mwifiex: clear is_suspended flag when interrupt is received early
Date: Fri, 17 May 2013 14:46:53 -0700 [thread overview]
Message-ID: <20130517213844.592597303@linuxfoundation.org> (raw)
In-Reply-To: <20130517213842.447809965@linuxfoundation.org>
3.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Bing Zhao <bzhao@marvell.com>
commit 48795424acff7215d5eac0b52793a2c1eb3a6283 upstream.
When the XO-4 with 8787 wireless is woken up due to wake-on-WLAN
mwifiex is often flooded with "not allowed while suspended" messages
and the interface is unusable.
[ 202.171609] int: sdio_ireg = 0x1
[ 202.180700] info: mwifiex_process_hs_config: auto cancelling host
sleep since there is interrupt from the firmware
[ 202.201880] event: wakeup device...
[ 202.211452] event: hs_deactivated
[ 202.514638] info: --- Rx: Data packet ---
[ 202.514753] data: 4294957544 BSS(0-0): Data <= kernel
[ 202.514825] PREP_CMD: device in suspended state
[ 202.514839] data: dequeuing the packet ec7248c0 ec4869c0
[ 202.514886] mwifiex_write_data_sync: not allowed while suspended
[ 202.514886] host_to_card, write iomem (1) failed: -1
[ 202.514917] mwifiex_write_data_sync: not allowed while suspended
[ 202.514936] host_to_card, write iomem (2) failed: -1
[ 202.514949] mwifiex_write_data_sync: not allowed while suspended
[ 202.514965] host_to_card, write iomem (3) failed: -1
[ 202.514976] mwifiex_write_data_async failed: 0xFFFFFFFF
This can be readily reproduced when putting the XO-4 in a loop where
it goes to sleep due to inactivity, but then wakes up due to an
incoming ping. The error is hit within an hour or two.
This issue happens when an interrupt comes in early while host sleep
is still activated. Driver handles this case by auto cancelling host
sleep. However is_suspended flag is still set which prevents any cmd
or data from being sent to firmware. Fix it by clearing is_suspended
flag in this path.
Reported-by: Daniel Drake <dsd@laptop.org>
Tested-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/net/wireless/mwifiex/cmdevt.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/net/wireless/mwifiex/cmdevt.c
+++ b/drivers/net/wireless/mwifiex/cmdevt.c
@@ -1084,6 +1084,7 @@ mwifiex_process_hs_config(struct mwifiex
adapter->if_ops.wakeup(adapter);
adapter->hs_activated = false;
adapter->is_hs_configured = false;
+ adapter->is_suspended = false;
mwifiex_hs_activated_event(mwifiex_get_priv(adapter,
MWIFIEX_BSS_ROLE_ANY),
false);
next prev parent reply other threads:[~2013-05-17 21:46 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-17 21:46 [ 00/50] 3.4.46-stable review Greg Kroah-Hartman
2013-05-17 21:46 ` [ 01/50] KVM: VMX: fix halt emulation while emulating invalid guest sate Greg Kroah-Hartman
2013-05-17 21:46 ` [ 02/50] ARM: OMAP: RX-51: change probe order of touchscreen and panel SPI devices Greg Kroah-Hartman
2013-05-17 21:46 ` [ 03/50] ASoC: wm8994: missing break in wm8994_aif3_hw_params() Greg Kroah-Hartman
2013-05-17 21:46 ` [ 04/50] ACPICA: Fix possible buffer overflow during a field unit read operation Greg Kroah-Hartman
2013-05-17 21:46 ` [ 05/50] ALSA: HDA: Fix Oops caused by dereference NULL pointer Greg Kroah-Hartman
2013-05-17 21:46 ` [ 06/50] dm snapshot: fix error return code in snapshot_ctr Greg Kroah-Hartman
2013-05-17 21:46 ` [ 07/50] nfsd4: dont allow owner override on 4.1 CLAIM_FH opens Greg Kroah-Hartman
2013-05-17 21:46 ` [ 08/50] hp_accel: Ignore the error from lis3lv02d_poweron() at resume Greg Kroah-Hartman
2013-05-17 21:46 ` [ 09/50] xen/vcpu/pvhvm: Fix vcpu hotplugging hanging Greg Kroah-Hartman
2013-05-17 21:46 ` [ 10/50] SCSI: sd: fix array cache flushing bug causing performance problems Greg Kroah-Hartman
2013-05-17 21:46 ` [ 11/50] audit: Syscall rules are not applied to existing processes on non-x86 Greg Kroah-Hartman
2013-05-17 21:46 ` [ 12/50] timer: Dont reinitialize the cpu base lock during CPU_UP_PREPARE Greg Kroah-Hartman
2013-05-17 21:46 ` [ 13/50] tick: Cleanup NOHZ per cpu data on cpu down Greg Kroah-Hartman
2013-05-17 21:46 ` [ 14/50] tracing: Fix leaks of filter preds Greg Kroah-Hartman
2013-05-17 21:46 ` [ 15/50] ext4: limit group search loop for non-extent files Greg Kroah-Hartman
2013-05-17 21:46 ` [ 16/50] powerpc: Bring all threads online prior to migration/hibernation Greg Kroah-Hartman
2013-05-17 21:46 ` [ 17/50] ath9k: fix key allocation error handling for powersave keys Greg Kroah-Hartman
2013-05-17 21:46 ` Greg Kroah-Hartman [this message]
2013-05-17 21:46 ` [ 19/50] mwifiex: fix setting of multicast filter Greg Kroah-Hartman
2013-05-17 21:46 ` [ 20/50] B43: Handle DMA RX descriptor underrun Greg Kroah-Hartman
2013-05-17 21:46 ` [ 21/50] drm/mm: fix dump table BUG Greg Kroah-Hartman
2013-05-17 21:46 ` [ 22/50] net: qmi_wwan: fixup missing ethernet header (firmware bug workaround) Greg Kroah-Hartman
2013-05-17 21:46 ` [ 23/50] net: qmi_wwan: fixup destination address " Greg Kroah-Hartman
2013-05-17 21:46 ` [ 24/50] net: qmi_wwan: prevent duplicate mac address on link " Greg Kroah-Hartman
2013-05-17 21:47 ` [ 25/50] tcp: force a dst refcount when prequeue packet Greg Kroah-Hartman
2013-05-17 21:47 ` [ 26/50] sfc: Fix naming of MTD partitions for FPGA bitfiles Greg Kroah-Hartman
2013-05-17 21:47 ` [ 27/50] 3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA) Greg Kroah-Hartman
2013-05-17 21:47 ` [ 28/50] net_sched: act_ipt forward compat with xtables Greg Kroah-Hartman
2013-05-17 21:47 ` [ 29/50] net: use netdev_features_t in skb_needs_linearize() Greg Kroah-Hartman
2013-05-17 21:47 ` [ 30/50] net: vlan,ethtool: netdev_features_t is more than 32 bit Greg Kroah-Hartman
2013-05-17 21:47 ` [ 31/50] bridge: fix race with topology change timer Greg Kroah-Hartman
2013-05-17 21:47 ` [ 32/50] packet: tpacket_v3: do not trigger bug() on wrong header status Greg Kroah-Hartman
2013-05-17 21:47 ` [ 33/50] 3c59x: fix freeing nonexistent resource on driver unload Greg Kroah-Hartman
2013-05-17 21:47 ` [ 34/50] 3c59x: fix PCI resource management Greg Kroah-Hartman
2013-05-17 21:47 ` [ 35/50] if_cablemodem.h: Add parenthesis around ioctl macros Greg Kroah-Hartman
2013-05-17 21:47 ` [ 36/50] macvlan: fix passthru mode race between dev removal and rx path Greg Kroah-Hartman
2013-05-17 21:47 ` [ 37/50] ipv6: do not clear pinet6 field Greg Kroah-Hartman
2013-05-17 21:47 ` [ 38/50] xfrm6: release dev before returning error Greg Kroah-Hartman
2013-05-17 21:47 ` [ 39/50] dm thin: do not set discard_zeroes_data Greg Kroah-Hartman
2013-05-17 21:47 ` [ 40/50] pch_dma: Use GFP_ATOMIC because called from interrupt context Greg Kroah-Hartman
2013-05-17 21:47 ` [ 41/50] hugetlbfs: fix mmap failure in unaligned size request Greg Kroah-Hartman
2013-05-17 21:47 ` [ 42/50] r8169: fix vlan tag read ordering Greg Kroah-Hartman
2013-05-17 21:47 ` [ 43/50] drbd: fix for deadlock when using automatic split-brain-recovery Greg Kroah-Hartman
2013-05-17 21:47 ` [ 44/50] drivers/rtc/rtc-pcf2123.c: fix error return code in pcf2123_probe() Greg Kroah-Hartman
2013-05-17 21:47 ` [ 45/50] iscsi-target: Fix processing of OOO commands Greg Kroah-Hartman
2013-05-17 21:47 ` [ 46/50] ACPI / EC: Restart transaction even when the IBF flag set Greg Kroah-Hartman
2013-05-17 21:47 ` [ 47/50] drivers/char/ipmi: memcpy, need additional 2 bytes to avoid memory overflow Greg Kroah-Hartman
2013-05-17 21:47 ` [ 48/50] ipmi: ipmi_devintf: compat_ioctl method fails to take ipmi_mutex Greg Kroah-Hartman
2013-05-17 21:47 ` [ 49/50] drm/radeon: check incoming cliprects pointer Greg Kroah-Hartman
2013-05-17 21:47 ` [ 50/50] usermodehelper: check subprocess_info->path != NULL Greg Kroah-Hartman
2013-05-19 11:16 ` [ 00/50] 3.4.46-stable review Satoru Takeuchi
2013-05-19 18:05 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130517213844.592597303@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=bzhao@marvell.com \
--cc=dsd@laptop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).