Hi, This commit breaks libertas_sdio suspend: commit b6ad726e3fe69e1ff3c3b2ad272ba3e4c376cd6a Author: Ulf Hansson <ulf.hansson@xxxxxxxxxxxxxx> Date: Thu Oct 13 16:03:58 2011 +0200 mmc: core: Prevent too long response times for suspend While trying to suspend the mmc host there could still be ongoing requests that we need to wait for. At the same time a device driver must respond to a suspend request rather quickly. This patch causes the device to be claimed while the driver's suspend method is called. This seems questionable to me. It should be up to the driver to deal with or cancel any pending requests in the interests of suspend performance. Even if they take a while to complete, it might be best to let them complete rather than discard the user's data. In this case in the suspend handler we have to communicate with the card. In libertas_sdio we do the communication in a workqueue (because, outside of the suspend routine, sometime we need to initiate communication from atomic context), but that seems like an implementation detail that shouldn't be trampled upon by the higher layers. This method of punishing "badly-behaved" drivers (for some definition of the phrase) is also quite harsh. Maybe its just my incompetence but it took me a couple of hours to track down why my driver was suddenly hanging with no warning message during its suspend routine. Can we revisit this? Thanks, Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html