I'm trying to understand the MMC suspend path a bit. I looked at the commit message of 6fa79651cc808f68db6f6f297be5a950ccd5dffb. IIUC, if MMC_CAP_WAIT_WHILE_BUSY is set then the mmc framework is going to depend on the card_busy() op to ensure correctness instead of using the S_A_TIMEOUT value from the card. But I see a lot of mmc host drivers that implement card_busy() but don't set the MMC_CAP_WAIT_WHILE_BUSY flag. That doesn't seem right to me if my understanding is correct. If it's supposed to be "we'll use card_busy() if MMC_CAP_WAIT_WHILE_BUSY isn't set", then why do we have some mmc host drivers that have both? What am I misunderstanding? -Saravana