linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Crash on reading the whole PCI config of PIIX4 SMBus
@ 2009-09-22 15:46 Henrik Kretzschmar
  2009-09-22 17:04 ` Jean Delvare
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Henrik Kretzschmar @ 2009-09-22 15:46 UTC (permalink / raw)
  To: khali, jbarnes; +Cc: linux-pci, linux-i2c, linux-kernel

Hi there,

at boot time my system (Wincor/Nixdorf Beetle D1) sometimes crashs while loading the i2c-piix4 driver.
I found out that I can always trigger the crash as root, which one of those:  

# hexdump -C /proc/bus/pci/00/07.3
# hexdump -C /sys/bus/pci/devices/0000:00:07.3/config
# lspci -s 07.3 -xxx

While initialization the i2c-piix4 driver does two reads to the config space, at 0xd2 and 0xd6,
in a relative short time. That sometimes triggers the crash,
but isn't that precise like one of those commands.

While my investigations I put a printk() between those two reads and had no more crashs
on module loading. I tested that with a script, doing insmod/rmmod 100 times in a row.

But printk() can't be the solution, so I tried msleep(1) and udelay(250),
but with each of these my system crashed.
The time for the read and one printk() takes ~100 us on my machine,
so both time values should be more than enough, if time would have been the reason.

Does someone have an idea what the driver should do between those two reads, to avoid crashing?
Can somebody with the same device trigger this crash too (greped LKML 2001-2008, found nothing)?
I have another box with this device and I'll test this in 4 hours.
Or is just my Hardware broken and I should blacklist the module?

I used 2.6.26-2 (deb/lenny) and 2.6.31 (vanilla) whith the same results.

Btw, I also tried:

$ for i in `seq 300`; do sensors; done

which brought the same machine down (only 2.6.31) with an:

do_IRQ: 0.66 No irq handler for vector (irq -1)


#lspci -s 07.3 -vvvn

00:07.3 0680: 8086:7113 (rev 02)
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin ? routed to IRQ 9
	Kernel driver in use: piix4_smbus
	Kernel modules: i2c-piix4

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

end of thread, other threads:[~2009-09-23 16:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-22 15:46 Crash on reading the whole PCI config of PIIX4 SMBus Henrik Kretzschmar
2009-09-22 17:04 ` Jean Delvare
     [not found] ` <4AB8F142.9090609-lmEOmhgwvqJeCmjzdEDfrw@public.gmane.org>
2009-09-22 18:07   ` Jean Delvare
2009-09-22 23:18 ` Wolfram Sang
2009-09-23 12:59   ` Henrik Kretzschmar
2009-09-23 13:35     ` Jean Delvare
2009-09-23 14:11       ` Henrik Kretzschmar
     [not found]         ` <4ABA2CA1.8070806-lmEOmhgwvqJeCmjzdEDfrw@public.gmane.org>
2009-09-23 14:15           ` Jean Delvare
     [not found]             ` <20090923161518.5cb29107-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-09-23 15:49               ` Henrik Kretzschmar
2009-09-23 16:30                 ` Jean Delvare

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).