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