[PATCH v2] mmc: mmc_spi: Print verbose debug output when crc16 check fails

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", + __func__, crc_ok, crc); r1 = R1_SPI_COM_CRC; break; }

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; }
participants (2)
-
Bin Meng
-
Sean Anderson