Re: [PATCH 1/2] mmc: bcm2835: reset host on timeout

From: Michal SuchÃnek
Date: Wed Feb 14 2018 - 10:36:58 EST


On Wed, 14 Feb 2018 15:58:31 +0100
Stefan Wahren <stefan.wahren@xxxxxxxx> wrote:

> Hi Michal,
>
> Am 14.02.2018 um 15:38 schrieb Michal Suchanek:
> > The bcm2835 mmc host tends to lock up for unknown reason so reset
> > it on timeout. The upper mmc block layer tries retransimitting with
> > single blocks which tends to work out after a long wait.
> >
> > This is better than giving up and leaving the machine broken for no
> > obvious reason.
>
> could you please provide more information about this issue (affected
> hardware, kernel config, version, dmesg, reproducible scenario)?
>

The RPi3 is known to not work with some SD cards. You can find some
wiki pages with large tables of known-working and known-broken cards. I
have a couple of RPi3 boards and a card that works and card that does
not. I tried debugging the issue but did not find anything I can do
about it - AFAICT the issue happens somewhere inside the MMC controller
IP.

I have no inside knowledge of the controller in question but during
testing I tried to reset the controller whenever the issue happens so I
can continue running the test system for a longer time until it gets
unusable. While I did not find any solution to the problem the
workaround with resetting the controller works quite reliably for me.

So I am posting it in the hope that people with the wrong combination
of RPi3 and SD card will not get a blank screen but rather a system
that boots but tends to lock up for half a minute occasionally.

Thanks

Michal