Hello, On 05/06/2015 09:16 PM, Meng Wang wrote:
sequence that they are listed in the packed command header. So when error happens, I can safely assert it is completed for the first PACKED_FAILURE_INDEX commands in one pack. Is my understanding correct?
Yes, mmc_blk_end_packed_req() will complete packed requests till idx_failure index.
From mmc_blk_issue_rw_rq(): case MMC_BLK_PARTIAL: /* * A block was successfully transferred. */ mmc_blk_reset_success(md, type); if (mmc_packed_cmd(mq_rq->cmd_type)) { ret = mmc_blk_end_packed_req(mq_rq); break; } else { ret = blk_end_request(req, 0, brq->data.bytes_xfered); } Then, reminder will be re-issued with mmc_start_req(): ... if (ret) { if (mmc_packed_cmd(mq_rq->cmd_type)) { if (!mq_rq->packed->retries) goto cmd_abort; mmc_blk_packed_hdr_wrq_prep(mq_rq, card, mq); mmc_start_req(card->host, &mq_rq->mmc_active, NULL); -- Qualcomm Israel, on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- 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