From: Christian Loehle <christian.loehle@arm.com>
To: Prasad Koya <prasad@arista.com>, linux-mmc@vger.kernel.org
Cc: Baptiste Covolato <baptiste@arista.com>,
Sushrut Shirole <sushrut@arista.com>,
ulf.hansson@linaro.org
Subject: Re: eMMC timeout reproduction. Can I send a block of data from the host to the card with invalid CRC?
Date: Wed, 16 Apr 2025 10:13:35 +0100 [thread overview]
Message-ID: <fb21ad0b-b45f-4636-9d74-1e758c3b2879@arm.com> (raw)
In-Reply-To: <CAKh1g556YvHE9eib3WJG+mBHyyr88rxYSbNUHxpFYsUHcdOoUg@mail.gmail.com>
On 4/16/25 01:13, Prasad Koya wrote:
> Hi
>
> We use eMMC as a boot drive. At a random time, maybe a month or an
> year of uptime, we run into an issue where we see the eMMC driver
> prints this in the kernel logs and the drive no longer responds after
> that. We see this issue in the field on linux kernel 4.19.142 and
> 5.10.165. From the SDHCI register dump, it looks like CMD25 ran into a
> timeout first. After the first timeout, we see CMD12 in the second
> SDHCI register dump. Status returned by the card at that point in
> card_busy_detect() is 0xE00.
>
> I looked at the recent commits up to 6.15 and I do not see anything
> obvious that addresses issue like below.
>
> We are trying to reproduce the issue in our lab and understand the
> driver code. Is there a way I can send a block of data as part of
> CMD25 with invalid CRC? Appreciate any pointers.
CRC is appended by hardware, so it will always be correct.
What you can do though is change the blocksize of the transfer on the
host side (e.g. from 512 to 514 bytes) without changing it using CMD16.
The 2 bytes will be latched in as CRC by the card. Of course you won't
see the CRC ACK from the card in that case (as it clashes with the
hardware CRC signal from the host).
You can do all this using the ioctl interface in userspace btw.
next prev parent reply other threads:[~2025-04-16 9:13 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-16 0:13 eMMC timeout reproduction. Can I send a block of data from the host to the card with invalid CRC? Prasad Koya
2025-04-16 9:13 ` Christian Loehle [this message]
2025-04-22 17:37 ` Prasad Koya
2025-04-22 21:53 ` Christian Loehle
2025-04-25 4:59 ` Prasad Koya
2025-04-25 8:38 ` Christian Loehle
2025-04-29 18:53 ` Prasad Koya
2025-04-29 18:58 ` Christian Loehle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fb21ad0b-b45f-4636-9d74-1e758c3b2879@arm.com \
--to=christian.loehle@arm.com \
--cc=baptiste@arista.com \
--cc=linux-mmc@vger.kernel.org \
--cc=prasad@arista.com \
--cc=sushrut@arista.com \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox