Loading drivers/mmc/card/block.c +17 −0 Original line number Diff line number Diff line Loading @@ -1300,6 +1300,17 @@ static int mmc_blk_ioctl_multi_cmd(struct block_device *bdev, mmc_get_card(card); if (mmc_card_cmdq(card)) { err = mmc_cmdq_halt(card->host, true); if (err) { pr_err("%s: halt failed while doing %s err (%d)\n", mmc_hostname(card->host), __func__, err); mmc_put_card(card); goto cmd_done; } } for (i = 0; i < num_of_cmds && !ioc_err; i++) ioc_err = __mmc_blk_ioctl_cmd(card, md, idata[i]); Loading @@ -1307,6 +1318,12 @@ static int mmc_blk_ioctl_multi_cmd(struct block_device *bdev, if (md->area_type & MMC_BLK_DATA_AREA_RPMB) mmc_blk_part_switch(card, dev_get_drvdata(&card->dev)); if (mmc_card_cmdq(card)) { if (mmc_cmdq_halt(card->host, false)) pr_err("%s: %s: cmdq unhalt failed\n", mmc_hostname(card->host), __func__); } mmc_put_card(card); /* copy to user if data and response */ Loading Loading
drivers/mmc/card/block.c +17 −0 Original line number Diff line number Diff line Loading @@ -1300,6 +1300,17 @@ static int mmc_blk_ioctl_multi_cmd(struct block_device *bdev, mmc_get_card(card); if (mmc_card_cmdq(card)) { err = mmc_cmdq_halt(card->host, true); if (err) { pr_err("%s: halt failed while doing %s err (%d)\n", mmc_hostname(card->host), __func__, err); mmc_put_card(card); goto cmd_done; } } for (i = 0; i < num_of_cmds && !ioc_err; i++) ioc_err = __mmc_blk_ioctl_cmd(card, md, idata[i]); Loading @@ -1307,6 +1318,12 @@ static int mmc_blk_ioctl_multi_cmd(struct block_device *bdev, if (md->area_type & MMC_BLK_DATA_AREA_RPMB) mmc_blk_part_switch(card, dev_get_drvdata(&card->dev)); if (mmc_card_cmdq(card)) { if (mmc_cmdq_halt(card->host, false)) pr_err("%s: %s: cmdq unhalt failed\n", mmc_hostname(card->host), __func__); } mmc_put_card(card); /* copy to user if data and response */ Loading