From: Jaehoon Chung <jh80.chung@samsung.com>
To: Jean-Michel Hautbois <jean-michel.hautbois@vodalys.com>,
Hsin-Hsiang Tseng <hsinhsiangtseng@gmail.com>
Cc: Fabio Estevam <festevam@gmail.com>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: Re: Sandisk MMC I/O errors
Date: Fri, 08 Aug 2014 12:12:28 +0900 [thread overview]
Message-ID: <53E4401C.2040708@samsung.com> (raw)
In-Reply-To: <CAL8zT=hcJOzGbDTgbp3Z7Yc5HhtGoALQ+w1Mhb9KBYSoN7dbAQ@mail.gmail.com>
On 08/08/2014 12:44 AM, Jean-Michel Hautbois wrote:
> 2014-08-07 17:02 GMT+02:00 Hsin-Hsiang Tseng <hsinhsiangtseng@gmail.com>:
>>> [ 1.366291] mmcblk1: error -84 transferring data, sector 0, nr 8,
>>> cmd response 0x900, card status 0xb00
>>> [ 1.374409] mmcblk1: retrying using single block read
>>> [ 1.378810] mmcblk1: error -84 transferring data, sector 0, nr 8,
>>> cmd response 0x900, card status 0x0
>> At first, the kernel driver uses multiple read(cmd 18) to read data
>> from sector 0 to sector 8, but fail.
>> And then, retry by single read(cmd 17), but still fail...
>>
>>> [ 2.050460] mmcblk1boot0: unable to read partition table
>> You are trying to read boot partition data, as I remember when we
>> access boot partition, we need to sync the bus width, frequency and
>> timing(SDR, DDR).
If you don't access at boot partition, use the MMC_CAP2_BOOTPART_NOACC.
>>
>> Maybe you can turn on the MMC debug config. As a result, you can check
>> what kind of commands the kernel driver send.
>>
>
> I don't have a big enough log buffer, but here is what I get after booting :
> [ 258.901572] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 258.901632] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 259.893768] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 259.893867] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 259.894909] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 259.894938] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 259.901578] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 259.901637] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 260.893767] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 260.893865] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 260.894906] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 260.894937] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 260.901582] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 260.901641] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 261.893765] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 261.893864] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 261.894905] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 261.894935] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 261.901576] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 261.901636] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 262.893769] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 262.893867] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 262.894908] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 262.894938] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 262.901583] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 262.901642] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 263.893763] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 263.893861] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 263.894903] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 263.894932] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 263.901576] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 263.901637] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 264.893758] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 264.893856] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 264.894898] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 264.894928] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 264.901574] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 264.901634] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 265.893769] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 265.893867] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 265.894908] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 265.894939] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 265.901585] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 265.901646] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 266.893766] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 266.893864] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 266.894905] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 266.894935] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 266.901612] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 266.901672] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 267.893768] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 267.893865] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 267.894907] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 267.894937] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 267.901580] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 267.901640] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 268.893769] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 268.893867] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 268.894909] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 268.894938] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 268.901579] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> [ 268.901638] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> [ 269.893765] mmc0: starting CMD13 arg 00020000 flags 00000195
> [ 269.893864] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
> [ 269.894905] sdhci-esdhc-imx 2198000.usdhc: change pinctrl state for uhs 2
> [ 269.894935] sdhci-esdhc-imx 2198000.usdhc: desired SD clock:
> 50000000, actual: 49500000
>
> Is this normal to get an interrupt every second, and change pinctrl
> state each time ?
It seems that your system is working the polling detect scheme.
To detect the card, it's polling the card status at every time.
Best Regards,
Jaehoon Chung
> JM
>
next prev parent reply other threads:[~2014-08-08 3:12 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-05 14:26 Sandisk MMC I/O errors Jean-Michel Hautbois
2014-08-05 15:13 ` Fabio Estevam
2014-08-05 15:20 ` Jean-Michel Hautbois
2014-08-05 15:35 ` Fabio Estevam
2014-08-05 15:44 ` Jean-Michel Hautbois
2014-08-05 15:54 ` Jean-Michel Hautbois
2014-08-05 15:59 ` Fabio Estevam
2014-08-05 16:01 ` Jean-Michel Hautbois
2014-08-06 1:15 ` Hsin-Hsiang Tseng
2014-08-06 6:54 ` Jean-Michel Hautbois
2014-08-06 11:44 ` Jaehoon Chung
2014-08-06 13:27 ` Jean-Michel Hautbois
2014-08-06 13:37 ` Fabio Estevam
2014-08-06 14:21 ` Jean-Michel Hautbois
2014-08-07 6:59 ` Jean-Michel Hautbois
2014-08-07 7:18 ` Jean-Michel Hautbois
2014-08-07 7:51 ` Jaehoon Chung
2014-08-07 7:54 ` Jean-Michel Hautbois
2014-08-07 8:54 ` Jean-Michel Hautbois
2014-08-07 15:02 ` Hsin-Hsiang Tseng
2014-08-07 15:44 ` Jean-Michel Hautbois
2014-08-08 3:12 ` Jaehoon Chung [this message]
2014-08-08 7:06 ` Jean-Michel Hautbois
2014-08-08 7:54 ` Jean-Michel Hautbois
2014-08-09 9:05 ` Hsin-Hsiang Tseng
2014-08-28 7:28 ` Jean-Michel Hautbois
2014-08-28 14:20 ` Hsin-Hsiang Tseng
2014-08-28 14:31 ` Jean-Michel Hautbois
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=53E4401C.2040708@samsung.com \
--to=jh80.chung@samsung.com \
--cc=festevam@gmail.com \
--cc=hsinhsiangtseng@gmail.com \
--cc=jean-michel.hautbois@vodalys.com \
--cc=linux-mmc@vger.kernel.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