Loading drivers/mmc/card/block.c +11 −6 Original line number Diff line number Diff line Loading @@ -213,7 +213,8 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) struct mmc_blk_data *md = mq->data; struct mmc_card *card = md->queue.card; struct mmc_blk_request brq; int ret = 1, sg_pos, data_size; int ret = 1, data_size, i; struct scatterlist *sg; mmc_claim_host(card->host); Loading Loading @@ -267,18 +268,22 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) mmc_queue_bounce_pre(mq); /* * Adjust the sg list so it is the same size as the * request. */ if (brq.data.blocks != (req->nr_sectors >> (md->block_bits - 9))) { data_size = brq.data.blocks * brq.data.blksz; for (sg_pos = 0; sg_pos < brq.data.sg_len; sg_pos++) { data_size -= mq->sg[sg_pos].length; for_each_sg(brq.data.sg, sg, brq.data.sg_len, i) { data_size -= sg->length; if (data_size <= 0) { mq->sg[sg_pos].length += data_size; sg_pos++; sg->length += data_size; i++; break; } } brq.data.sg_len = sg_pos; brq.data.sg_len = i; } mmc_wait_for_req(card->host, &brq.mrq); Loading Loading
drivers/mmc/card/block.c +11 −6 Original line number Diff line number Diff line Loading @@ -213,7 +213,8 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) struct mmc_blk_data *md = mq->data; struct mmc_card *card = md->queue.card; struct mmc_blk_request brq; int ret = 1, sg_pos, data_size; int ret = 1, data_size, i; struct scatterlist *sg; mmc_claim_host(card->host); Loading Loading @@ -267,18 +268,22 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) mmc_queue_bounce_pre(mq); /* * Adjust the sg list so it is the same size as the * request. */ if (brq.data.blocks != (req->nr_sectors >> (md->block_bits - 9))) { data_size = brq.data.blocks * brq.data.blksz; for (sg_pos = 0; sg_pos < brq.data.sg_len; sg_pos++) { data_size -= mq->sg[sg_pos].length; for_each_sg(brq.data.sg, sg, brq.data.sg_len, i) { data_size -= sg->length; if (data_size <= 0) { mq->sg[sg_pos].length += data_size; sg_pos++; sg->length += data_size; i++; break; } } brq.data.sg_len = sg_pos; brq.data.sg_len = i; } mmc_wait_for_req(card->host, &brq.mrq); Loading