diff --git a/linux-5.10/hispark_taurus_patch/hispark_taurus.patch b/linux-5.10/hispark_taurus_patch/hispark_taurus.patch index 2076a8fbfef1a17aaf32984392f6153442b89bb6..5d33f9b093fa53d6d9f3744f68f1e68bc7d1122f 100755 --- a/linux-5.10/hispark_taurus_patch/hispark_taurus.patch +++ b/linux-5.10/hispark_taurus_patch/hispark_taurus.patch @@ -25241,11 +25241,19 @@ diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index 94caee49d..c69c59dcb 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c -@@ -536,18 +536,16 @@ static int __mmc_blk_ioctl_cmd(struct mmc_card *card, struct mmc_blk_data *md, - return err; +@@ -448,7 +448,7 @@ static int card_busy_detect(struct mmc_card *card, unsigned int timeout_ms, + static int __mmc_blk_ioctl_cmd(struct mmc_card *card, struct mmc_blk_data *md, + struct mmc_blk_ioc_data *idata) + { +- struct mmc_command cmd = {}, sbc = {}; ++ struct mmc_command cmd = {}; + struct mmc_data data = {}; + struct mmc_request mrq = {}; + struct scatterlist sg; +@@ -525,15 +525,15 @@ static int __mmc_blk_ioctl_cmd(struct mmc_card *card, struct mmc_blk_data *md, } -- if (idata->rpmb || prev_idata) { + if (idata->rpmb) { - sbc.opcode = MMC_SET_BLOCK_COUNT; - /* - * We don't do any blockcount validation because the max size @@ -25253,11 +25261,8 @@ index 94caee49d..c69c59dcb 100644 - * 'Reliable Write' bit here. - */ - sbc.arg = data.blocks | (idata->ic.write_flag & BIT(31)); -- if (prev_idata) -- sbc.arg = prev_idata->ic.arg; - sbc.flags = MMC_RSP_R1 | MMC_CMD_AC; - mrq.sbc = &sbc; -+ if (idata->rpmb) { + struct mmc_command mmc_cmd = {}; + mmc_cmd.opcode = MMC_SET_BLOCK_COUNT; + mmc_cmd.arg = data.blocks & 0x0000FFFF;