Message ID | 20210117122724.5321-1-bmeng.cn@gmail.com |
---|---|
State | Superseded |
Delegated to: | Peng Fan |
Headers | show |
Series | [v2] mmc: mmc_spi: Print verbose debug output when crc16 check fails | expand |
On Sun, Jan 17, 2021 at 8:27 PM Bin Meng <bmeng.cn@gmail.com> wrote: > > Add some verbose debug output when crc16 check fails. > > Signed-off-by: Bin Meng <bmeng.cn@gmail.com> > Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> > > --- > > Changes in v2: > - do the crc_ok assignment at the the same line where it's defined > > drivers/mmc/mmc_spi.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > Ping?
On Thu, Jan 28, 2021 at 11:14 PM Bin Meng <bmeng.cn@gmail.com> wrote: > > On Sun, Jan 17, 2021 at 8:27 PM Bin Meng <bmeng.cn@gmail.com> wrote: > > > > Add some verbose debug output when crc16 check fails. > > > > Signed-off-by: Bin Meng <bmeng.cn@gmail.com> > > Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> > > > > --- > > > > Changes in v2: > > - do the crc_ok assignment at the the same line where it's defined > > > > drivers/mmc/mmc_spi.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > Ping? Peng, will you take this, or if this should go via another tree? Regards, Bin
On 1/17/21 7:27 AM, Bin Meng wrote: > Add some verbose debug output when crc16 check fails. > > Signed-off-by: Bin Meng <bmeng.cn@gmail.com> > Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> > > --- > > Changes in v2: > - do the crc_ok assignment at the the same line where it's defined > > drivers/mmc/mmc_spi.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/mmc_spi.c b/drivers/mmc/mmc_spi.c > index 46800bbed2..b1edb6ad7c 100644 > --- a/drivers/mmc/mmc_spi.c > +++ b/drivers/mmc/mmc_spi.c > @@ -181,8 +181,10 @@ static int mmc_spi_readdata(struct udevice *dev, > if (ret) > return ret; > #ifdef CONFIG_MMC_SPI_CRC_ON > - if (be16_to_cpu(crc16_ccitt(0, buf, bsize)) != crc) { > - debug("%s: data crc error\n", __func__); > + u16 crc_ok = be16_to_cpu(crc16_ccitt(0, buf, bsize)); > + if (crc_ok != crc) { > + debug("%s: data crc error, expect %04x get %04x\n", Nit: Perhaps use expected/got? Otherwise looks good to me; I ended up creating a similar patch previously, but never got around to upstreaming it. --Sean > + __func__, crc_ok, crc); > r1 = R1_SPI_COM_CRC; > break; > } >
diff --git a/drivers/mmc/mmc_spi.c b/drivers/mmc/mmc_spi.c index 46800bbed2..b1edb6ad7c 100644 --- a/drivers/mmc/mmc_spi.c +++ b/drivers/mmc/mmc_spi.c @@ -181,8 +181,10 @@ static int mmc_spi_readdata(struct udevice *dev, if (ret) return ret; #ifdef CONFIG_MMC_SPI_CRC_ON - if (be16_to_cpu(crc16_ccitt(0, buf, bsize)) != crc) { - debug("%s: data crc error\n", __func__); + u16 crc_ok = be16_to_cpu(crc16_ccitt(0, buf, bsize)); + if (crc_ok != crc) { + debug("%s: data crc error, expect %04x get %04x\n", + __func__, crc_ok, crc); r1 = R1_SPI_COM_CRC; break; }