Message ID | 20240730092138.32443-4-philmd@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/sd: SDcard & SDHCI fixes | expand |
On 7/30/24 19:21, Philippe Mathieu-Daudé wrote: > We neglected to clear the @data_count index on ADMA error, > allowing to trigger assertion in sdhci_read_dataport() or > sdhci_write_dataport(). > > Cc:qemu-stable@nongnu.org > Fixes: d7dfca0807 ("hw/sdhci: introduce standard SD host controller") > Reported-by: Zheyu Ma<zheyuma97@gmail.com> > Resolves:https://gitlab.com/qemu-project/qemu/-/issues/2455 > Signed-off-by: Philippe Mathieu-Daudé<philmd@linaro.org> > --- > hw/sd/sdhci.c | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index d02c3e3963..8293d83556 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -846,6 +846,7 @@ static void sdhci_do_adma(SDHCIState *s) } } if (res != MEMTX_OK) { + s->data_count = 0; if (s->errintstsen & SDHC_EISEN_ADMAERR) { trace_sdhci_error("Set ADMA error flag"); s->errintsts |= SDHC_EIS_ADMAERR;
We neglected to clear the @data_count index on ADMA error, allowing to trigger assertion in sdhci_read_dataport() or sdhci_write_dataport(). Cc: qemu-stable@nongnu.org Fixes: d7dfca0807 ("hw/sdhci: introduce standard SD host controller") Reported-by: Zheyu Ma <zheyuma97@gmail.com> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2455 Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- hw/sd/sdhci.c | 1 + 1 file changed, 1 insertion(+)