[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 09/25] hw/sd: ssi-sd: Fix the wrong command index for STOP
From: |
Bin Meng |
Subject: |
Re: [PATCH v2 09/25] hw/sd: ssi-sd: Fix the wrong command index for STOP_TRANSMISSION |
Date: |
Mon, 25 Jan 2021 08:42:11 +0800 |
On Mon, Jan 25, 2021 at 8:33 AM Bin Meng <bmeng.cn@gmail.com> wrote:
>
> On Mon, Jan 25, 2021 at 1:33 AM Philippe Mathieu-Daudé <f4bug@amsat.org>
> wrote:
> >
> > On 1/23/21 11:40 AM, Bin Meng wrote:
> > > From: Bin Meng <bin.meng@windriver.com>
> > >
> > > This fixes the wrong command index for STOP_TRANSMISSION, the
> > > required command to interrupt the multiple block read command,
> > > in the old codes. It should be CMD12 (0x4c), not CMD13 (0x4d).
> > >
> > > Fixes: 775616c3ae8c ("Partial SD card SPI mode support")
> > > Signed-off-by: Bin Meng <bin.meng@windriver.com>
> > >
> > > ---
> > >
> > > Changes in v2:
> > > - Make this fix a separate patch from the CMD18 support
> > >
> > > hw/sd/ssi-sd.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c
> > > index 5763afeba0..9e2f13374a 100644
> > > --- a/hw/sd/ssi-sd.c
> > > +++ b/hw/sd/ssi-sd.c
> > > @@ -83,7 +83,7 @@ static uint32_t ssi_sd_transfer(SSIPeripheral *dev,
> > > uint32_t val)
> > > ssi_sd_state *s = SSI_SD(dev);
> > >
> > > /* Special case: allow CMD12 (STOP TRANSMISSION) while reading data.
> > > */
> > > - if (s->mode == SSI_SD_DATA_READ && val == 0x4d) {
> > > + if (s->mode == SSI_SD_DATA_READ && val == 0x4c) {
> >
> > Patch is correct, but I wonder if we couldn't improve using instead:
> >
> > if (s->mode == SSI_SD_DATA_READ && ((val & 0x3f) == 12)) {
> >
>
> (val & 0x3f == 12) isn't correct because it can catch values equal to
> 0x7c or 0xfc.
Sorry, wrong calculation. It should read:
It can catch values 0x0c, 0x8c, 0xcc.
Regards,
Bin
- Re: [PATCH v2 06/25] util: Add CRC16 (CCITT) calculation routines, (continued)
[PATCH v2 12/25] hw/sd: sd: Remove duplicated codes in single/multiple block read/write, Bin Meng, 2021/01/23
[PATCH v2 09/25] hw/sd: ssi-sd: Fix the wrong command index for STOP_TRANSMISSION, Bin Meng, 2021/01/23
[PATCH v2 08/25] hw/sd: ssi-sd: Add a state representing Nac, Bin Meng, 2021/01/23
[PATCH v2 10/25] hw/sd: ssi-sd: Support multiple block read, Bin Meng, 2021/01/23
[PATCH v2 18/25] hw/sd: ssi-sd: Bump up version ids of VMStateDescription, Bin Meng, 2021/01/23