Bug 3880
Summary: | IRQ routing problem breaks sata_sil | ||
---|---|---|---|
Product: | Platform Specific/Hardware | Reporter: | Daniel Lindenaar (daniel) |
Component: | Other | Assignee: | Tejun Heo (htejun) |
Status: | RESOLVED PATCH_ALREADY_AVAILABLE | ||
Severity: | blocking | CC: | deanjo, pef21, tulear999 |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.{8,9} | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Daniel Lindenaar
2004-12-09 08:51:56 UTC
Looks for me like bug 3576. How could mark one of these as duplicate? *** Bug 3576 has been marked as a duplicate of this bug. *** *** Bug 3671 has been marked as a duplicate of this bug. *** I would like to add/confirm that this bug is still present in kernels 2.6.11 and 2.6.12 (the last I've tried is 2.6.12.3). Also, it's present in the Fedora 4 distribution, which uses kernel 2.6.11-1.1369_FC4 (a patched 2.6.11). With the SATA hard disk plugged in, my system freezes after disabling IRQ 11, just as in the bug description. It might be of interest to know that the so-called "old" SATA driver in kernel configuration works fine -- the old driver is the one that works with IDE instead of SCSI, and doesn't use libata. With that old driver, my hard disk shows up as "hdc" and I get the following successful messages from dmesg: SiI3112 Serial ATA: IDE controller at PCI slot 0000:03:00.0 PCI: Enabling device 0000:03:00.0 (0000 -> 0003) ACPI: PCI Interrupt 0000:03:00.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11 SiI3112 Serial ATA: chipset revision 1 PCI: Setting latency timer of device 0000:03:00.0 to 64 SiI3112 Serial ATA: 100% native mode on irq 11 ide1: MMIO-DMA , BIOS settings: hdc:pio, hdd:pio ide2: MMIO-DMA , BIOS settings: hde:pio, hdf:pio Probing IDE interface ide1... hdc: ST3120827AS, ATA DISK drive hdc: applying pessimistic Seagate errata fix ide1 at 0xf8802080-0xf8802087,0xf880208a on irq 11 hdc: max request size: 7KiB hdc: 234441648 sectors (120034 MB) w/8192KiB Cache, CHS=16383/255/63 hdc: cache flushes supported hdc: hdc1 hdc2 hdc3 hdc4 My hard disk is a Seagate ST3120827AS. Thanks. Does the problem go away if you boot an SMP kernel? Or enable IOAPIC on uniprocessor? Hello Garzik. Enabling IOAPIC on uniprocessor doesn't seem to make any difference. I've just tested it with IOAPIC enabled in kernel 2.6.12-3, in a Toshiba Laptop. Even though the BIOS doesn't have any option to enable APIC, I have used the 'lapic' kernel option and dmesg confirms that IOAPIC was enabled: ------------------------ Kernel command line: ro root=/dev/hda3 lapic Local APIC disabled by BIOS -- reenabling. Found and enabled local APIC! mapped APIC to ffffd000 (fee00000) ------------------------ When I boot with the SATA HDD plugged in, the system freezes. However, if I plug the HDD after booting, the system doesn't freeze but gets extremely slow, losing keyboard strokes and ignoring some mouse movements (both my keyboard and mouse are USB). I was able to get this copy from the text console output when I plugged the HDD with 2.6.12.3/IOAPIC: ------------------------ PCI: Enabling device 0000:03:00.0 (0000 -> 0003) sata_sil(0000:03:00.0): cache line size not set. Driver may not function irq 11: nobody cared! [<c0157604>] __report_bad_irq+0x24/0x90 [<c015770b>] note_interrupt+0x6b/0x90 [<c0156c62>] __do_IRQ+0x322/0x370 [<c01063c3>] do_IRQ+0x53/0xa0 ======================= [<c0104552>] common_interrupt+0x1a/0x20 [<c012e06e>] __do_softirq+0x2e/0xa0 [<c01064fe>] do_softirq+0x4e/0x60 ======================= [<c01063ca>] do_IRQ+0x5a/0xa0 [<c0104552>] common_interrupt+0x1a/0x20 [<c0291762>] acpi_processor_idle+0x10e/0x24c [<c01010d4>] cpu_idle+0x34/0x50 [<c050082f>] start_kernel+0x15f/0x1c0 [<c05003b0>] unknown_bootoption+0x0/0x1e0 handlers: [<c0342330>] (yenta_interrupt+0x0/0x30) [<f89087d0>] (snd_intel8x0_interrupt+0x0/0x3a0 [snd_intel8x0]) [<f89125d0>] (snd_intel8x0_interrupt+0x0/0x5e0 [snd_intel8x0m]) [<c034bcb0>] (usb_hcd_irq+0x0/0x80) [<c034bcb0>] (usb_hcd_irq+0x0/0x80) [<c034bcb0>] (usb_hcd_irq+0x0/0x80) [<c034bcb0>] (usb_hcd_irq+0x0/0x80) [<c03239f0>] (ata_interrupt+0x0/0x210) Disabling IRQ #11 ------------------------ Notice the line "sata_sil(0000:03:00.0): cache line size not set. Driver may not function" It might be a clue, I have no idea. Thank you. Hello Garzik, I have that same issue (Disabling IRQ #10) with my on board Sil 3112A chipset(intel D845PEBT2 mobo). 2.6.12.3 Kernel with SMP enabled the driver works, Without SMP the driver will not work and dies with the Disabling IRQ #10 message. The SMP option was the only thing changed between the working and non-working kernel. I can try and provide any infomation you request. I tried with latest Mandriva cooker (2.6.12-9), no changes without or with smp :-( Maybe my experience can be usefull : I finally found a way to use my sata disk with sil312 : enabling ACPI (Mandriva cooker kernel 2.6.12-10mdk) I'haven't got the famous "disabling IRQ11" during boot , even if disk is not detected : I needed to rmmod and modprobe sata_sil to be able to mount my partitions from sata disk This should have been fixed in new EH which uses controller specific irq mask and pending registers. Please reopen if 2.6.21 still doesn't work. |