On Thu, 26 Oct 2023 at 10:38, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote: > > On 25/10/23 14:30, Avri Altman wrote: > > 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. > > > > Some platforms generate auto command error interrupt when it shouldn't, > > e.g. auto-cmd12 while in close-ended 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, make > > sure it disable auto-cmd12 while close-ended ffu is in progress. > > I think I misunderstood this because I was thinking that auto-cmd12 > was being used with an open-ended sequence, and that it wasn't > working with FFU. However it seems mmc-utils is using a closed-ended > sequence. > > It looks like the the host controller driver doesn't know that, > because the ioctl interface does not use mrq.sbc and the > SET_BLOCK_COUNT command is sent separately. Then when the MULTI_WRITE > command is issued, the host controller driver treats it as open-ended > and will enable auto-cmd12 if the controller supports it. > > If that is the case, it would be better to fix the ioctl handling > and make it use mrq.sbc instead of issuing SET_BLOCK_COUNT separately. Agree! [...] Kind regards Uffe