Search Linux Wireless

RE: [PATCH] mwifiex: fix IRQ enable/disable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Daniel,

Thanks for the patch.

> During tear down (e.g. mwifiex_sdio_remove during system suspend),
> mwifiex left IRQs enabled for a significant period of time when it was unable
> to handle them correctly. This caused interrupt storms and interfered with
> the bluetooth interface on the same SDIO card.
> 
> Solve this by disabling interrupts at the point when they can no longer be
> handled correctly, which is at the start of mwifiex_remove_card().
> 
> For cleanliness, we now enable interrupts in the mwifiex_add_card() path, to
> be symmetrical with the disabling of interrupts. We also couple the
> registration of the sdio IRQ handler with the actual enable/disable of
> interrupts at the hardware level.
> 
> I also removed a write to this register in mwifiex_init_sdio which seemed
> pointless and won't cause any ill effects now that we only register the SDIO
> IRQ handler when we are ready to accept interrupts.
> 
> Includes some corrections from Amitkumar Karwar.
> 
> Signed-off-by: Daniel Drake <dsd@xxxxxxxxxx>

Acked-by: Bing Zhao <bzhao@xxxxxxxxxxx>

Regards,
Bing

> ---
>  drivers/net/wireless/mwifiex/init.c | 10 +---
> drivers/net/wireless/mwifiex/main.c | 13 +++++-
> drivers/net/wireless/mwifiex/main.h |  1 +
> drivers/net/wireless/mwifiex/sdio.c | 91 +++++++++++++++++----------------
> ----
>  drivers/net/wireless/mwifiex/sdio.h |  3 --
>  5 files changed, 57 insertions(+), 61 deletions(-)
> 
> Replaces the previous patch:
> 	mwifiex: don't ignore SDIO interrupts during shutdown

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux