@@ -1741,13 +1741,14 @@ static inline u8 mmc_calc_packed_hdr_segs(struct request_queue *q,
return nr_segs;
}
-static u8 mmc_blk_prep_packed_list(struct mmc_queue *mq, struct request *req)
+static u8 mmc_blk_prep_packed_list(struct mmc_queue *mq,
+ struct mmc_queue_req *mqrq)
{
struct request_queue *q = mq->queue;
struct mmc_card *card = mq->card;
+ struct request *req = mqrq->req;
struct request *cur = req, *next = NULL;
struct mmc_blk_data *md = mq->blkdata;
- struct mmc_queue_req *mqrq = mq->mqrq_cur;
bool en_rel_wr = card->ext_csd.rel_param & EXT_CSD_WR_REL_PARAM_EN;
unsigned int req_sectors = 0, phys_segments = 0;
unsigned int max_blk_count, max_phys_segs;
@@ -2048,8 +2049,8 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
if (!rqc && !mq->mqrq_prev->req)
return 0;
- if (rqc)
- reqs = mmc_blk_prep_packed_list(mq, rqc);
+ if (mqrq_cur)
+ reqs = mmc_blk_prep_packed_list(mq, mqrq_cur);
do {
if (rqc) {
A subsequent patch will remove 'mq->mqrq_cur'. Prepare for that by passing mqrq to mmc_blk_prep_packed_list(). Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> --- drivers/mmc/card/block.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)