]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mmc: block: Disable CMDQ on the ioctl path
authorBean Huo <beanhuo@micron.com>
Tue, 4 May 2021 20:32:09 +0000 (22:32 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 24 May 2021 13:12:30 +0000 (15:12 +0200)
commit1ddad40a398d8941334dcf5443f91942ef8e962b
treef707f9b9f84eeb2d507435f15505765ea1e59079
parent24d558f75ba3bbe76a974c34c05f7a98d2368be3
mmc: block: Disable CMDQ on the ioctl path

According to the eMMC Spec:
"When command queuing is enabled (CMDQ Mode En bit in CMDQ_MODE_EN
field is set to ‘1’) class 11 commands are the only method through
which data transfer tasks can be issued. Existing data transfer
commands, namely CMD18/CMD17 and CMD25/CMD24, are not supported when
command queuing is enabled."
which means if CMDQ is enabled, the FFU commands will not be supported.
To fix this issue, just simply disable CMDQ on the ioctl path, and
re-enable CMDQ once ioctl request is completed.

Tested-by: Michael Brunner <Michael.Brunner@kontron.com>
Signed-off-by: Bean Huo <beanhuo@micron.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Fixes: 1e8e55b67030 (mmc: block: Add CQE support)
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20210504203209.361597-1-huobean@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/block.c