public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* irq flood with mmc boot partitions on s3c2416 with 3.0rc1
@ 2011-06-02 19:49 Heiko Stübner
  2011-06-02 23:48 ` Kyungmin Park
  2011-06-18 20:56 ` Daniel Mack
  0 siblings, 2 replies; 14+ messages in thread
From: Heiko Stübner @ 2011-06-02 19:49 UTC (permalink / raw)
  To: linux-mmc, linux-arm-kernel, kyungmin.park, andreiw

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

^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: irq flood with mmc boot partitions on s3c2416 with 3.0rc1
@ 2011-07-05  6:59 Heiko Stübner
  0 siblings, 0 replies; 14+ messages in thread
From: Heiko Stübner @ 2011-07-05  6:59 UTC (permalink / raw)
  To: Andrei Warkentin; +Cc: Daniel Mack, linux-mmc, linux-arm-kernel, kyungmin.park

[-- Attachment #1: Type: text/plain, Size: 1532 bytes --]

Hi again,

sorry for having taken so long, but university-work called :-)

Am Montag 20 Juni 2011, 21:34:53 schrieb Andrei Warkentin:
> On Sun, Jun 19, 2011 at 9:23 AM, Heiko Stübner <heiko@sntech.de> wrote:
> > Am Samstag 18 Juni 2011, 22:56:11 schrieb Daniel Mack:
> The log you sent out seems a bit short (it's covers < 1s of boot time
> - usb0: no IPv6 routers present is the last line ). Can you send -
> 1) A full log with errors without any of my patches.
> 2) A full log with just the first patch.
> 3) A full log with just the second patch.
I have attached a log with mmc-debugging enabled. 
The relevant parts start around line 2634 ("waiting for /dev to be fully 
populated" - the udev start). The culprit (Hynix-nand) is mmc1.

Switching the patches on and off will have to wait until the weekend. But I can 
say the error (irq message and register dump [and them looping endlessly]) has 
not not changed from before your patches.

I'm curious, is mmc_blk_resume (which is modified by your second patch) called 
at other times than when waking up from system suspend? [i.e. during system 
startup]

> I'm interested in knowing what the pattern of access to boot0 and
> boot1 is that causes these failures - does it only report I/O errors
> for for certain blocks (say, above some number) or for all of them.
it doesn't report io-errors at all. It send endless loops of CMD13 calls with 
the same argument and receives interrupts it does not expect :-)


Thanks again for your time
Heiko

[-- Attachment #2: dmesg-debug_20110629.txt.gz --]
[-- Type: application/x-gzip, Size: 11750 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2011-07-05  7:40 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-02 19:49 irq flood with mmc boot partitions on s3c2416 with 3.0rc1 Heiko Stübner
2011-06-02 23:48 ` Kyungmin Park
2011-06-03  5:31   ` Santosh Shilimkar
2011-06-03  7:56   ` Heiko Stübner
2011-06-14  0:09     ` Andrei Warkentin
2011-06-14 14:10       ` Heiko Stübner
2011-06-14 20:32         ` Andrei Warkentin
2011-06-16 20:14           ` Heiko Stübner
2011-06-16 20:35             ` Andrei Warkentin
2011-06-18 20:20               ` Heiko Stübner
2011-06-18 20:56 ` Daniel Mack
2011-06-19 14:23   ` Heiko Stübner
2011-06-20 19:34     ` Andrei Warkentin
  -- strict thread matches above, loose matches on Subject: below --
2011-07-05  6:59 Heiko Stübner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox