irq flood with mmc boot partitions on s3c2416 with 3.0rc1
Heiko Stübner
heiko at sntech.de
Thu Jun 2 15:49:47 EDT 2011
Hi,
after upgrading my development kernel from 2.6.38 to 3.0rc1 I get flooded (i.e.
it never stops) by messages of the form:
mmc1: Got data interrupt 0x00100000 even though no data operation was in
progress.
sdhci: =========== REGISTER DUMP (mmc1)===========
sdhci: Sys addr: 0x37b1b000 | Version: 0x00000401
sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
sdhci: Argument: 0x00010000 | Trn mode: 0x00000033
sdhci: Present: 0x01e70002 | Host ctl: 0x00000012
sdhci: Power: 0x0000000a | Blk gap: 0x00000000
sdhci: Wake-up: 0x00000000 | Clock: 0x0000020f
sdhci: Timeout: 0x0000000e | Int stat: 0x00108000
sdhci: Int enab: 0x02ff000b | Sig enab: 0x02ff000b
sdhci: AC12 err: 0x00000000 | Slot int: 0x00000001
sdhci: Caps: 0x05e80080 | Caps_1: 0x00000000
sdhci: Cmd: 0x00000d1a | Max curr: 0x00000000
sdhci: Host ctl2: 0x00000000
sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x37846808
sdhci: ===========================================
hardware: S3C2416 based board, mmc0 is an external micro-SD and mmc1 is a
mmc1: new high speed MMC card at address 0001
mmcblk1: mmc1:0001 HYNIX 1.88 GiB
mmcblk1boot0: mmc1:0001 HYNIX partition 1 256 KiB
mmcblk1boot1: mmc1:0001 HYNIX partition 2 256 KiB
mmcblk1: p1 p2 p3
mmcblk1boot1: unknown partition table
mmcblk1boot0: unknown partition table
it uses therefore the sdhci-s3c driver.
I did some prodding in the code and found the following peculiarities:
- When I remove Kyungmins AUTO_CMD12-quirk in sdhci-s3c it seems I get one
functional boot and have only the following messages in the kernel log
mmcblk1boot0: retrying using single block read
mmc1: ADMA error
mmcblk1boot0: error -5 transferring data, sector 448, nr 32, card status
0x900
end_request: I/O error, dev mmcblk1boot0, sector 448
Buffer I/O error on device mmcblk1boot0, logical block 56
mmcblk1boot1: retrying using single block read
mmc1: ADMA error
mmcblk1boot1: error -5 transferring data, sector 448, nr 32, card status
0x900
end_request: I/O error, dev mmcblk1boot1, sector 448
But after a soft reset the irq message flood seems to return.
- When I completely remove the boot partition registration in
mmc_blk_alloc_parts() in card/block.c it seems that everything return to
normal, i.e. no strange messages at all
I'm not sure if this is a problem of only my board or if it happens on more
hardware.
Heiko
More information about the linux-arm-kernel
mailing list