mmc: block: Change mmc_apply_rel_rw() to get block address from the request
authorAdrian Hunter <adrian.hunter@intel.com>
Mon, 13 Mar 2017 12:36:40 +0000 (14:36 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 24 Apr 2017 19:42:04 +0000 (21:42 +0200)
mmc_apply_rel_rw() will be used by Software Command Queuing also. In that
case the command argument is not the block address so change
mmc_apply_rel_rw() to get block address from the request.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/block.c

index d189e8c4436e2f96bf0b6c9302bed1a6a952f76f..6d2c302c36735032f59f6d8b3e4849f2575db625 100644 (file)
@@ -1309,7 +1309,7 @@ static inline void mmc_apply_rel_rw(struct mmc_blk_request *brq,
 {
        if (!(card->ext_csd.rel_param & EXT_CSD_WR_REL_PARAM_EN)) {
                /* Legacy mode imposes restrictions on transfers. */
-               if (!IS_ALIGNED(brq->cmd.arg, card->ext_csd.rel_sectors))
+               if (!IS_ALIGNED(blk_rq_pos(req), card->ext_csd.rel_sectors))
                        brq->data.blocks = 1;
 
                if (brq->data.blocks > card->ext_csd.rel_sectors)