Hi Daniel, >There is no point in the one case that you mention. But there is a >very good reason to do so in the case that I am talking about. So why >not do it? There is no harm to do it if the hardware is not present, >right? I got your point. We didn't test the behavior of sdio_read/sdio_write API's when hardware is not present. But they should just return an error. >This doesn't make much sense to me either. Why don't we just disable >the interrupt handler at the point when interrupts can no longer be >correctly handled by the driver? Agreed. Following change will fix the issue. Right? Instead of going for your earlier changes to ack interrupts until we disable them. @@ -152,6 +152,9 @@ mwifiex_sdio_remove(struct sdio_func *func) mwifiex_init_shutdown_fw(priv, MWIFIEX_FUNC_SHUTDOWN); } + /* Disable host interrupt mask register for SDIO */ + mwifiex_sdio_disable_host_int(adapter); + mwifiex_remove_card(card->adapter, &add_remove_card_sem); kfree(card); } Thanks, Amitkumar Karwar -- 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