Distribution: Debian Hardware Environment: AMD athlon, pci, sil3112, 2x maxtor 6B160M0 Software Environment: Problem Description: The SIL pci card initialises fine, detects the two sata-buses, and errors after that. I've tried the two workarounds available in sata_sil.c for the sil-card for a certain Maxtor disc, as well as for certain seagate-disks, with the same result. I've also patched libata-core.c to have a longer timeout in sata_phy_reset. Without this, the drives where simply not detected and there was a timeout. I've got the latest bios and the settings conservative. also noapic and acpi=off didn't help. the drives are detected, but accessing them results in a lockup of the process in (D)evice. the relevant part of the dmesg: Dec 9 12:32:31 lilka kernel: sata_sil version 0.54 Dec 9 12:32:31 lilka kernel: ACPI: PCI interrupt 0000:00:08.0[A] -> GSI 11 (level, low) -> IRQ 11 Dec 9 12:32:31 lilka kernel: ata1: SATA max UDMA/100 cmd 0xD4820080 ctl 0xD482008A bmdma 0xD4820000 irq 11 Dec 9 12:32:31 lilka kernel: ata2: SATA max UDMA/100 cmd 0xD48200C0 ctl 0xD48200CA bmdma 0xD4820008 irq 11 Dec 9 12:32:31 lilka kernel: irq 11: nobody cared! Dec 9 12:32:31 lilka kernel: [__report_bad_irq+42/144] __report_bad_irq+0x2a/0x90 Dec 9 12:32:31 lilka kernel: [note_interrupt+108/160] note_interrupt+0x6c/0xa0 Dec 9 12:32:31 lilka kernel: [do_IRQ+273/288] do_IRQ+0x111/0x120 Dec 9 12:32:31 lilka kernel: [common_interrupt+24/32] common_interrupt+0x18/0x20 Dec 9 12:32:31 lilka kernel: [__do_softirq+66/176] __do_softirq+0x42/0xb0 Dec 9 12:32:31 lilka kernel: [do_softirq+45/48] do_softirq+0x2d/0x30 Dec 9 12:32:31 lilka kernel: [do_IRQ+245/288] do_IRQ+0xf5/0x120 Dec 9 12:32:31 lilka kernel: [common_interrupt+24/32] common_interrupt+0x18/0x20 Dec 9 12:32:31 lilka kernel: [delay_tsc+20/32] delay_tsc+0x14/0x20 Dec 9 12:32:31 lilka kernel: [__delay+18/32] __delay+0x12/0x20 Dec 9 12:32:31 lilka kernel: [ata_busy_sleep+29/304] ata_busy_sleep+0x1d/0x130 Dec 9 12:32:31 lilka kernel: [ata_dev_identify+217/1520] ata_dev_identify+0xd9/0x5f0 Dec 9 12:32:31 lilka kernel: [__delay+18/32] __delay+0x12/0x20 Dec 9 12:32:31 lilka kernel: [ata_bus_reset+310/544] ata_bus_reset+0x136/0x220 Dec 9 12:32:31 lilka kernel: [sata_phy_reset+190/304] sata_phy_reset+0xbe/0x130 Dec 9 12:32:31 lilka kernel: [ata_bus_probe+57/176] ata_bus_probe+0x39/0xb0 Dec 9 12:32:31 lilka kernel: [ata_device_add+444/608] ata_device_add+0x1bc/0x260 Dec 9 12:32:31 lilka kernel: [ata_interrupt+0/432] ata_interrupt+0x0/0x1b0 Dec 9 12:32:31 lilka kernel: [sil_init_one+625/784] sil_init_one+0x271/0x310 Dec 9 12:32:31 lilka kernel: [pci_device_probe_static+82/112] pci_device_probe_static+0x52/0x70 Dec 9 12:32:31 lilka kernel: [__pci_device_probe+60/80] __pci_device_probe+0x3c/0x50 Dec 9 12:32:31 lilka kernel: [pci_device_probe+44/80] pci_device_probe+0x2c/0x50 Dec 9 12:32:31 lilka kernel: [bus_match+63/112] bus_match+0x3f/0x70 Dec 9 12:32:31 lilka kernel: [driver_attach+89/144] driver_attach+0x59/0x90 Dec 9 12:32:31 lilka kernel: [bus_add_driver+146/192] bus_add_driver+0x92/0xc0 Dec 9 12:32:31 lilka kernel: [pci_register_driver+108/160] pci_register_driver+0x6c/0xa0 Dec 9 12:32:31 lilka kernel: [sil_init+15/32] sil_init+0xf/0x20 Dec 9 12:32:31 lilka kernel: [do_initcalls+43/192] do_initcalls+0x2b/0xc0 Dec 9 12:32:31 lilka kernel: [init_workqueues+23/46] init_workqueues+0x17/0x2e Dec 9 12:32:31 lilka kernel: [init+132/448] init+0x84/0x1c0 Dec 9 12:32:31 lilka kernel: [init+0/448] init+0x0/0x1c0 Dec 9 12:32:31 lilka kernel: [kernel_thread_helper+5/20] kernel_thread_helper+0x5/0x14 Dec 9 12:32:31 lilka kernel: handlers: Dec 9 12:32:31 lilka kernel: [ata_interrupt+0/432] (ata_interrupt+0x0/0x1b0) Dec 9 12:32:31 lilka kernel: Disabling IRQ #11 Dec 9 12:32:31 lilka kernel: ata1: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4063 85:7c69 86:3e01 87:4063 88:207f Dec 9 12:32:31 lilka kernel: ata1: dev 0 ATA, max UDMA/133, 320173056 sectors: lba48 Dec 9 12:32:31 lilka kernel: ata1: dev 0 configured for UDMA/100 Dec 9 12:32:31 lilka kernel: scsi0 : sata_sil Dec 9 12:32:31 lilka kernel: ata2: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4063 85:7c69 86:3e01 87:4063 88:207f Dec 9 12:32:31 lilka kernel: ata2: dev 0 ATA, max UDMA/133, 320173056 sectors: lba48 Dec 9 12:32:31 lilka kernel: ata2: dev 0 configured for UDMA/100 Dec 9 12:32:31 lilka kernel: scsi1 : sata_sil Dec 9 12:32:31 lilka kernel: Vendor: ATA Model: Maxtor 6B160M0 Rev: BANC Dec 9 12:32:31 lilka kernel: Type: Direct-Access ANSI SCSI revision: 05 Dec 9 12:32:31 lilka kernel: Vendor: ATA Model: Maxtor 6B160M0 Rev: BANC Dec 9 12:32:31 lilka kernel: Type: Direct-Access ANSI SCSI revision: 05 Dec 9 12:32:31 lilka kernel: SCSI device sda: 320173056 512-byte hdwr sectors (163929 MB) Dec 9 12:32:31 lilka kernel: SCSI device sda: drive cache: write back Dec 9 12:32:31 lilka kernel: sda:<3>ata1: command 0x25 timeout, stat 0x50 host_stat 0x64 Dec 9 12:32:31 lilka kernel: unknown partition table Dec 9 12:32:31 lilka kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 Dec 9 12:32:31 lilka kernel: SCSI device sdb: 320173056 512-byte hdwr sectors (163929 MB) Dec 9 12:32:31 lilka kernel: SCSI device sdb: drive cache: write back Dec 9 12:32:31 lilka kernel: sdb:<3>ata2: command 0x25 timeout, stat 0x50 host_stat 0x64 Dec 9 12:32:31 lilka kernel: unknown partition table Dec 9 12:32:31 lilka kernel: Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0 Steps to reproduce:
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.