Skip to contentSkip to conversation

S3C6410 SDHCI driver crash

DISCUSSION Maurus Cuelenaere 2 participants 3 messages Sep 24, 2009 – Sep 28, 2009

lore
Share & tools
lore
#0 lore raw

Hi,

I'm currently experiencing an SDHCI bug in 2.6.31 and linux-next, which didn't
seem to appear in 2.6.31-rc8.

This is on a new S3C6410 platform (SmartQ 7, see [1]) and it seems to be consistently happening right after displaying "Loading hardware drivers" (in user-space; Ubuntu-based).

The relevant kernel log lines are:

blk: request botched
kernel BUG at drivers/mmc/host/sdhci.c:298!

This is on 2.6.31-next-20090923, but I've also had this on regular 2.6.31, Ben
Dooks latest tree and linux-next with the ADMA patches applied.

Any ideas?

[1]
http://gitorious.org/mcuelenaere-smartq-kernel/mcuelenaere-smartq-kernel/commits/experimental-2.6.31

Regards,

Maurus Cuelenaere

#1 lore raw
Quoted 6 lines · Maurus Cuelenaere

Hi,

I'm currently experiencing an SDHCI bug in 2.6.31 and linux-next, which didn't
seem to appear in 2.6.31-rc8.

Quoted 8 lines

This is on a new S3C6410 platform (SmartQ 7, see [1]) and it seems to be consistently happening right after displaying "Loading hardware drivers" (in user-space; Ubuntu-based).

The relevant kernel log lines are:

blk: request botched
kernel BUG at drivers/mmc/host/sdhci.c:298!

Having a look at the code in mainline, this is being triggered in sdhci_write_block_pio(), by the following code:

296 while (blksize) {
297 if (!sg_miter_next(&host->sg_miter))
298 BUG();

Which suggests that the size of the transfer was bigger than the sg list passed to the transfer, which is worrying as this seems to suggest there is a problem with the PIO code writing insufficient data to the card.

Signature · 4 lines
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.
#2 lore raw

Op 24-09-09 21:00, Ben Dooks schreef:

Quoted 9 lines · Maurus Cuelenaere
Quoted 8 lines

Hi,

I'm currently experiencing an SDHCI bug in 2.6.31 and linux-next, which didn't
seem to appear in 2.6.31-rc8.

This is on a new S3C6410 platform (SmartQ 7, see [1]) and it seems to be consistently happening right after displaying "Loading hardware

drivers" (in

Quoted 10 lines
Quoted 6 lines

user-space; Ubuntu-based).

The relevant kernel log lines are:

blk: request botched
kernel BUG at drivers/mmc/host/sdhci.c:298!

Having a look at the code in mainline, this is being triggered in sdhci_write_block_pio(), by the following code:

Quoted 8 lines

296 while (blksize) {
297 if (!sg_miter_next(&host->sg_miter))
298 BUG();

Which suggests that the size of the transfer was bigger than the sg list passed to the transfer, which is worrying as this seems to suggest there is a problem with the PIO code writing insufficient data to the card.

An update on this: apparently this issue was caused by using the EXT4 driver for loading an EXT3 FS, so it has nothing to do with the SDHCI driver...

Sorry for the false alarm.

I also want to mention that the ADMA patch from kki_ap/linux-2.6-samsung.git seems to be working smoothly here.

Regards,

Maurus Cuelenaere