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

From: Stefan Wahren
Date: Sat Mar 03 2018 - 08:59:37 EST


Hi Michal,

[add Stefan to CC]

> Michal SuchÃnek <msuchanek@xxxxxxx> hat am 14. Februar 2018 um 20:24 geschrieben:
>
>
> On Wed, 14 Feb 2018 17:49:31 +0100
> Stefan Wahren <stefan.wahren@xxxxxxxx> wrote:
>
> > Hi Michal,
> >
> > [add Phil]
> >
> > Am 14.02.2018 um 17:13 schrieb Michal SuchÃnek:
> > > On Wed, 14 Feb 2018 16:36:49 +0100
> > > Michal SuchÃnek <msuchanek@xxxxxxx> wrote:
> > >
> > >> 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)?
> > > It tends to reproduce when upgrading a few packages with zypper and
> > > otherwise at random during system operation. It seems that for my
> > > card it worsens with age to some degree so perhaps it depends on the
> > > fragmentation of the internal card flash.
> > >
> > > Attaching dmesg and kernel config.
> >
> > do you noticed this issue before 4.15-rc4?
>
> I initially noticed it with 4.4 kernel with some backports to make it
> bootable on RPi.
> >
> > Could you please test with 4.15 final again?
>
> Right, I can apply the patches on something more recent.
>
> >
> > What kind of SD card (name) triggers the issue?
>
> Samsung EVO MB-MP16D
>
> Also see https://elinux.org/RPi_SD_cards#Which_SD_card.3F
>
> Thanks
>
> Michal
>

yesterday i finished my stress tests with Raspberry Pi 3.

Scenario:
- copy Tumbleweed on SD card (openSUSE-Tumbleweed-ARM-JeOS-raspberrypi3.aarch64-2018.02.02-Build1.2.raw, Linux 4.14.15)
- setup locales with yast
- run zypper update
- reboot
- install and remove java 1.8 in a loop for at least 1 hour

Results of the different SD cards:
Toshiba uSDHC Class 10 UHS-1 32 GB: PASS
BASETech uSDHC Class 10 16 GB: PASS
Samsung uSDHC EVO+ UHS-1 16 GB: PASS
Samsung uSDHC Class 6 32 GB: PASS
SanDisk Edge Class 4 16 GB: PASS
Kingston uSDHC Class 10 UHS-1 32 GB: PASS
QUMOX uSDHC Class 10 UHS-1 16 GB: FAIL (zypper segfaulted permantently)
Transcend uSDHC Class 10 UHS-1 32 GB: PASS

I was never able to reproduce this timeout. So i still need the feedback about the 4.15 and i a reliable test scenario.

In a github issue, i've read that badblocks could reproduce the issue more likely.

Regards
Stefan