> static int __mmc_blk_ioctl_cmd(struct mmc_card *card, struct > mmc_blk_data *md, > struct mmc_blk_ioc_data *idata) > { > @@ -623,6 +675,9 @@ static int __mmc_blk_ioctl_cmd(struct mmc_card > *card, struct mmc_blk_data *md, > __func__, status, err); > } > > + if (!err && (cmd.flags & MMC_RSP_R1B)) > + err = card_busy_detect(card, MMC_BLK_TIMEOUT_MS, NULL); > + > return err; > } You have both the R1B flag check, and status poll (for rpmb) few line above. Maybe you could re-use it. It will both simplify this patch, and save the tad optimization of your first patch. Thanks, Avri