summaryrefslogtreecommitdiff
path: root/drivers/mmc/host/mtk-sd.c
diff options
context:
space:
mode:
authorAvri Altman <avri.altman@wdc.com>2023-11-29 11:25:35 +0200
committerUlf Hansson <ulf.hansson@linaro.org>2023-12-07 14:08:44 +0100
commit4d0c8d0aef6355660b6775d57ccd5d4ea2e15802 (patch)
treee164b5afdf08bb011ddee183dd14a5ce51747ba6 /drivers/mmc/host/mtk-sd.c
parent5cb2f9286a31f33dc732c57540838ad9339393ab (diff)
mmc: core: Use mrq.sbc in close-ended ffu
Field Firmware Update (ffu) may use close-ended or open ended sequence. Each such sequence is comprised of a write commands enclosed between 2 switch commands - to and from ffu mode. So for the close-ended case, it will be: cmd6->cmd23-cmd25-cmd6. Some host controllers however, get confused when multi-block rw is sent without sbc, and may generate auto-cmd12 which breaks the ffu sequence. I encountered this issue while testing fwupd (github.com/fwupd/fwupd) on HP Chromebook x2, a qualcomm based QC-7c, code name - strongbad. Instead of a quirk, or hooking the request function of the msm ops, it would be better to fix the ioctl handling and make it use mrq.sbc instead of issuing SET_BLOCK_COUNT separately. Signed-off-by: Avri Altman <avri.altman@wdc.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20231129092535.3278-1-avri.altman@wdc.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/mtk-sd.c')
0 files changed, 0 insertions, 0 deletions