qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/3] sdhci: don't raise a command index error fo


From: Peter Crosthwaite
Subject: Re: [Qemu-devel] [PATCH 2/3] sdhci: don't raise a command index error for an unexpected response
Date: Sun, 20 Dec 2015 13:44:38 -0800

On Wed, Dec 16, 2015 at 11:47 AM, Andrew Baumann
<address@hidden> wrote:
> This deletes a block of code that raised a command index error if a
> command returned response data, but the guest did not set the
> appropriate bits in the response register to handle such a response. I
> cannot find any documentation that suggests the controller should
> behave in this way, the error code doesn't make sense (command index
> error is defined for the case where the index in a response does not
> match that of the issued command), and in at least one case (CMD23
> issued by UEFI on Raspberry Pi 2), actual hardware does not do this.
>
> Signed-off-by: Andrew Baumann <address@hidden>

Reviewed-by: Peter Crosthwaite <address@hidden>

All I can think of, is the original author is assuming that any
mismatch in response length can only occur on a mismatch of commands.
If we really need _CMDIDX it should be done directly as a check of the
command index in the response.

Regards,
Peter

> ---
>  hw/sd/sdhci.c | 3 ---
>  1 file changed, 3 deletions(-)
>
> diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
> index bc39d48..dd83e89 100644
> --- a/hw/sd/sdhci.c
> +++ b/hw/sd/sdhci.c
> @@ -243,9 +243,6 @@ static void sdhci_send_command(SDHCIState *s)
>              (s->cmdreg & SDHC_CMD_RESPONSE) == SDHC_CMD_RSP_WITH_BUSY) {
>              s->norintsts |= SDHC_NIS_TRSCMP;
>          }
> -    } else if (rlen != 0 && (s->errintstsen & SDHC_EISEN_CMDIDX)) {
> -        s->errintsts |= SDHC_EIS_CMDIDX;
> -        s->norintsts |= SDHC_NIS_ERR;
>      }
>
>      if (s->norintstsen & SDHC_NISEN_CMDCMP) {
> --
> 2.5.3
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]