On 10/17/2011 3:21 PM, Ulf Hansson wrote:
Why would there be pending requests while host is suspending? Is the
kernel framework not handling sync before going to suspend? However, the
mmc_blk_suspend() would be called before the host driver suspends (as all
the driver suspend routines are serialized) which means it stops block
layer to queue more I/O requests well before the host driver start
suspend. Does this sequence break in your case?
I have observed this issue for different cases (one case was logging to
eMMC). The idea is simply that we would like to be sure that we do not
wait "forever", no matter if the "upper layers" misbehaved in the
suspend sequence.
Agree. I was just curious to know why would there be a pending requests.
If the issue is seen while logging to eMMC then there may be something
wrong, probably, we may see issue while running mmc_test and initiating
suspend. Your patch looks good to me though.
Reviewed-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx>
Your concern seems to be valid for SDIO case, but again the function
driver must be intelligent enough to return -EBUSY as it knows that it
had
posted a request to MMC.
For SDIO, should we really assume that function driver has implemented a
suspend function and moreover that it actually always behaves as we expect?
I hope so, but yes, in some cases that may be broken. I agree with you.
Br
Ulf Hansson
--
Thanks & Regards,
Sujit Reddy Thumma
--
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