diff options
author | Avri Altman <avri.altman@wdc.com> | 2023-11-29 11:25:35 +0200 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2023-12-07 14:08:44 +0100 |
commit | 4d0c8d0aef6355660b6775d57ccd5d4ea2e15802 (patch) | |
tree | e164b5afdf08bb011ddee183dd14a5ce51747ba6 /drivers/mmc/host/mtk-sd.c | |
parent | 5cb2f9286a31f33dc732c57540838ad9339393ab (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