Messages in this thread Patch in this message | | | Date | Sun, 18 Jun 2006 21:05:10 +0200 | From | matthieu castet <> | Subject | 2.6.17-rc6-mm2 VIA PATA fails on some ATAPI drives |
| |
Hi,
I tried the 2.6.17-rc6-mm2 kernel with PATA VIA.
The via controller still fails to set xfermode for an ATAPI drive plugged on a via controller (vt8235). Now only this drive is disabled instead both device on the same port. But the libata core tries various speed for the failling drive and sets this speed also for the good device.
In my case, the ata core starts with UDMA/33, then tries UDMA/25 and finaly PIO0. And at the end ata4.00 is at PIO0 and ata4.01 disabled. Why not changing only the speed of ata4.01 ?
The dmesg log is attached as dmesg_pata-mm.
I make a patch that seem to make work the drive. It is attached as pata-via-atapi. I don't know if is the correct thing to do.
The dmesg log with this patch is attached as dmesg_pata-mm-f.
Matthieu Linux version 2.6.17-rc6-mm2 (mat@mat-pc) (gcc version 4.1.2 20060613 (prerelease) (Debian 4.1.1-4)) #1 PREEMPT Sat Jun 17 22:51:56 CEST 2006 BIOS-provided physical RAM map: sanitize start sanitize end copy_e820_map() start: 0000000000000000 size: 000000000009fc00 end: 000000000009fc00 type: 1 copy_e820_map() type is E820_RAM add_memory_region(0000000000000000, 000000000009fc00, 1) copy_e820_map() start: 000000000009fc00 size: 0000000000000400 end: 00000000000a0000 type: 2 add_memory_region(000000000009fc00, 0000000000000400, 2) copy_e820_map() start: 00000000000f0000 size: 0000000000010000 end: 0000000000100000 type: 2 add_memory_region(00000000000f0000, 0000000000010000, 2) copy_e820_map() start: 0000000000100000 size: 000000003fef0000 end: 000000003fff0000 type: 1 copy_e820_map() type is E820_RAM add_memory_region(0000000000100000, 000000003fef0000, 1) copy_e820_map() start: 000000003fff0000 size: 0000000000008000 end: 000000003fff8000 type: 3 add_memory_region(000000003fff0000, 0000000000008000, 3) copy_e820_map() start: 000000003fff8000 size: 0000000000008000 end: 0000000040000000 type: 4 add_memory_region(000000003fff8000, 0000000000008000, 4) copy_e820_map() start: 00000000fec00000 size: 0000000000001000 end: 00000000fec01000 type: 2 add_memory_region(00000000fec00000, 0000000000001000, 2) copy_e820_map() start: 00000000fee00000 size: 0000000000001000 end: 00000000fee01000 type: 2 add_memory_region(00000000fee00000, 0000000000001000, 2) copy_e820_map() start: 00000000fff80000 size: 0000000000080000 end: 0000000100000000 type: 2 add_memory_region(00000000fff80000, 0000000000080000, 2) BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff8000 (ACPI data) BIOS-e820: 000000003fff8000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) 127MB HIGHMEM available. 896MB LOWMEM available. found SMP MP-table at 000fb940 On node 0 totalpages: 262128 DMA zone: 4096 pages, LIFO batch:0 Normal zone: 225280 pages, LIFO batch:31 HighMem zone: 32752 pages, LIFO batch:7 DMI 2.3 present. ACPI: RSDP (v000 AMI ) @ 0x000fa8e0 ACPI: RSDT (v001 AMIINT VIA_K7 0x00000010 MSFT 0x00000097) @ 0x3fff0000 ACPI: FADT (v001 AMIINT VIA_K7 0x00000011 MSFT 0x00000097) @ 0x3fff0030 ACPI: MADT (v001 AMIINT VIA_K7 0x00000009 MSFT 0x00000097) @ 0x3fff00c0 ACPI: DSDT (v001 VIA VIA_K7 0x00001000 MSFT 0x0100000d) @ 0x00000000 ACPI: PM-Timer IO Port: 0x808 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 6:6 APIC version 16 ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Enabling APIC mode: Flat. Using 1 I/O APICs Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 50000000 (gap: 40000000:bec00000) Detected 1533.476 MHz processor. Built 1 zonelists. Total pages: 262128 Kernel command line: root=/dev/sdc3 ro ide=reverse init=/bin/sh log_buf_len=32M log_buf_len: 33554432 mapped APIC to ffffd000 (fee00000) mapped IOAPIC to ffffc000 (fec00000) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 PID hash table entries: 4096 (order: 12, 16384 bytes) Console: colour VGA+ 80x25 ------------------------ | Locking API testsuite: ---------------------------------------------------------------------------- | spin |wlock |rlock |mutex | wsem | rsem | -------------------------------------------------------------------------- A-A deadlock:failed|failed|failed|failed|failed|failed| A-B-B-A deadlock:failed|failed| ok |failed|failed|failed| A-B-B-C-C-A deadlock:failed|failed| ok |failed|failed|failed| A-B-C-A-B-C deadlock:failed|failed| ok |failed|failed|failed| A-B-B-C-C-D-D-A deadlock:failed|failed| ok |failed|failed|failed| A-B-C-D-B-D-D-A deadlock:failed|failed| ok |failed|failed|failed| A-B-C-D-B-C-D-A deadlock:failed|failed| ok |failed|failed|failed| double unlock:failed|failed|failed| ok |failed|failed| initialize held:failed|failed|failed|failed|failed|failed| bad unlock order: ok | ok | ok | ok | ok | ok | -------------------------------------------------------------------------- recursive read-lock: | ok | |failed| recursive read-lock #2: |failed| |failed| mixed read-write-lock: |failed| |failed| mixed write-read-lock: |failed| |failed| -------------------------------------------------------------------------- hard-irqs-on + irq-safe-A/12:failed|failed| ok | soft-irqs-on + irq-safe-A/12:failed|failed| ok | hard-irqs-on + irq-safe-A/21:failed|failed| ok | soft-irqs-on + irq-safe-A/21:failed|failed| ok | sirq-safe-A => hirqs-on/12:failed|failed| ok | sirq-safe-A => hirqs-on/21:failed|failed| ok | hard-safe-A + irqs-on/12:failed|failed| ok | soft-safe-A + irqs-on/12:failed|failed| ok | hard-safe-A + irqs-on/21:failed|failed| ok | soft-safe-A + irqs-on/21:failed|failed| ok | hard-safe-A + unsafe-B #1/123:failed|failed| ok | soft-safe-A + unsafe-B #1/123:failed|failed| ok | hard-safe-A + unsafe-B #1/132:failed|failed| ok | soft-safe-A + unsafe-B #1/132:failed|failed| ok | hard-safe-A + unsafe-B #1/213:failed|failed| ok | soft-safe-A + unsafe-B #1/213:failed|failed| ok | hard-safe-A + unsafe-B #1/231:failed|failed| ok | soft-safe-A + unsafe-B #1/231:failed|failed| ok | hard-safe-A + unsafe-B #1/312:failed|failed| ok | soft-safe-A + unsafe-B #1/312:failed|failed| ok | hard-safe-A + unsafe-B #1/321:failed|failed| ok | soft-safe-A + unsafe-B #1/321:failed|failed| ok | hard-safe-A + unsafe-B #2/123:failed|failed| ok | soft-safe-A + unsafe-B #2/123:failed|failed| ok | hard-safe-A + unsafe-B #2/132:failed|failed| ok | soft-safe-A + unsafe-B #2/132:failed|failed| ok | hard-safe-A + unsafe-B #2/213:failed|failed| ok | soft-safe-A + unsafe-B #2/213:failed|failed| ok | hard-safe-A + unsafe-B #2/231:failed|failed| ok | soft-safe-A + unsafe-B #2/231:failed|failed| ok | hard-safe-A + unsafe-B #2/312:failed|failed| ok | soft-safe-A + unsafe-B #2/312:failed|failed| ok | hard-safe-A + unsafe-B #2/321:failed|failed| ok | soft-safe-A + unsafe-B #2/321:failed|failed| ok | hard-irq lock-inversion/123:failed|failed| ok | soft-irq lock-inversion/123:failed|failed| ok | hard-irq lock-inversion/132:failed|failed| ok | soft-irq lock-inversion/132:failed|failed| ok | hard-irq lock-inversion/213:failed|failed| ok | soft-irq lock-inversion/213:failed|failed| ok | hard-irq lock-inversion/231:failed|failed| ok | soft-irq lock-inversion/231:failed|failed| ok | hard-irq lock-inversion/312:failed|failed| ok | soft-irq lock-inversion/312:failed|failed| ok | hard-irq lock-inversion/321:failed|failed| ok | soft-irq lock-inversion/321:failed|failed| ok | hard-irq read-recursion/123: ok | soft-irq read-recursion/123: ok | hard-irq read-recursion/132: ok | soft-irq read-recursion/132: ok | hard-irq read-recursion/213: ok | soft-irq read-recursion/213: ok | hard-irq read-recursion/231: ok | soft-irq read-recursion/231: ok | hard-irq read-recursion/312: ok | soft-irq read-recursion/312: ok | hard-irq read-recursion/321: ok | soft-irq read-recursion/321: ok | -------------------------------------------------------- 146 out of 218 testcases failed, as expected. | ---------------------------------------------------- Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 1003488k/1048512k available (1665k kernel code, 44384k reserved, 573k data, 176k init, 131008k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay using timer specific routine.. 3069.77 BogoMIPS (lpj=6139557) Mount-cache hash table entries: 512 CPU: After generic identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000 00000000 00000000 CPU: After vendor identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000 00000000 00000000 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 256K (64 bytes/line) CPU: After all inits, caps: 0383fbff c1c3fbff 00000000 00000420 00000000 00000000 00000000 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. Compat vDSO mapped to ffffe000. CPU: AMD Athlon(tm) XP 1800+ stepping 02 Checking 'hlt' instruction... OK. SMP alternatives: switching to UP code Freeing SMP alternatives: 0k freed ENABLING IO-APIC IRQs ..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1 NET: Registered protocol family 16 ACPI: bus type pci registered PCI: PCI BIOS revision 2.10 entry at 0xfdaf1, last bus=1 Setting up standard PCI resources ACPI: Subsystem revision 20060310 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI quirk: region 0800-087f claimed by vt8235 PM PCI quirk: region 0400-040f claimed by vt8235 SMB Boot video device is 0000:01:00.0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *10 11 12 14 15) Linux Plug and Play Support v0.97 (c) Adam Belay pnp: PnP ACPI init pnp: PnP ACPI: found 13 devices PnPBIOS: Disabled by ACPI PNP SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report PCI: Bridge: 0000:00:01.0 IO window: disabled. MEM window: ddd00000-dfdfffff PREFETCH window: cda00000-ddbfffff PCI: Setting latency timer of device 0000:00:01.0 to 64 NET: Registered protocol family 2 IP route cache hash table entries: 32768 (order: 5, 131072 bytes) TCP established hash table entries: 131072 (order: 7, 524288 bytes) TCP bind hash table entries: 65536 (order: 6, 262144 bytes) TCP: Hash tables configured (established 131072 bind 65536) TCP reno registered Machine check exception polling timer started. highmem bounce pool size: 64 pages Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered libata version 1.30 loaded. pata_sil680 0000:00:07.0: version 0.3.1 sil680: BA5_EN = 1 clock = 00 sil680: BA5_EN = 1 clock = 10 sil680: 133MHz clock. ACPI: PCI Interrupt 0000:00:07.0[A] -> GSI 18 (level, low) -> IRQ 16 ata1: PATA max UDMA/133 cmd 0xE800 ctl 0xE402 bmdma 0xD800 irq 16 ata2: PATA max UDMA/133 cmd 0xE000 ctl 0xDC02 bmdma 0xD808 irq 16 ata1.00: cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c69 86:3e01 87:4003 88:007f ata1.00: ATA-7, max UDMA/133, 156368016 sectors: LBA48 ata1.00: configured for UDMA/133 scsi0 : pata_sil680 scsi1 : pata_sil680 Vendor: ATA Model: SAMSUNG SP0802N Rev: TK10 Type: Direct-Access ANSI SCSI revision: 05 pata_via 0000:00:11.1: version 0.1.11 ACPI (acpi_bus-0192): Device [IDE0] is not power manageable [20060310] ACPI Warning (pci_irq-0370): Unable to derive IRQ for device 0000:00:11.1 [20060310] ACPI: PCI Interrupt 0000:00:11.1[A]: no GSI PCI: VIA IRQ fixup for 0000:00:11.1, from 255 to 15 ata3: PATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xFC00 irq 14 ata3.00: cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c69 86:3c01 87:4003 88:203f ata3.00: ATA-7, max UDMA/100, 156368016 sectors: LBA48 ata3.01: cfg 49:2f00 82:74eb 83:5bea 84:4000 85:7469 86:1a02 87:4003 88:203f ata3.01: ATA-5, max UDMA/100, 80418240 sectors: LBA ata3.00: configured for UDMA/100 ata3.01: configured for UDMA/100 scsi2 : pata_via Vendor: ATA Model: SAMSUNG SP0802N Rev: TK10 Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: IC35L040AVVA07-0 Rev: VA2O Type: Direct-Access ANSI SCSI revision: 05 ata4: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xFC08 irq 15 ata4.00: cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407 ata4.00: ATAPI, max UDMA/33 ata4.01: cfg 49:0b00 82:0210 83:1000 84:0000 85:0000 86:0000 87:0000 88:0407 ata4.01: ATAPI, max UDMA/33 ata4.00: configured for UDMA/33 ata4.01: qc timeout (cmd 0xef) ata4.01: failed to set xfermode (err_mask=0x4) ata4.01: limiting speed to UDMA/25 ata4.00: cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407 ata4.00: ATAPI, max UDMA/33 ata4.01: cfg 49:0b00 82:0210 83:1000 84:0000 85:0000 86:0000 87:0000 88:0407 ata4.01: ATAPI, max UDMA/33 ata4.00: configured for UDMA/25 ata4.01: qc timeout (cmd 0xef) ata4.01: failed to set xfermode (err_mask=0x4) ata4.01: limiting speed to PIO0 ata4.00: cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0207 ata4.00: ATAPI, max UDMA/33 ata4.01: cfg 49:0b00 82:0210 83:1000 84:0000 85:0000 86:0000 87:0000 88:0207 ata4.01: ATAPI, max UDMA/33 ata4.00: configured for PIO0 ata4.01: qc timeout (cmd 0xef) ata4.01: failed to set xfermode (err_mask=0x4) ata4.01: disabled ata4.00: cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0207 ata4.00: ATAPI, max UDMA/33 ata4.00: configured for PIO0 scsi3 : pata_via Vendor: TOSHIBA Model: DVD-ROM SD-M1612 Rev: 1004 Type: CD-ROM ANSI SCSI revision: 05 SCSI device sda: 156368016 512-byte hdwr sectors (80060 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back SCSI device sda: 156368016 512-byte hdwr sectors (80060 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back sda: sda1 sd 0:0:0:0: Attached scsi disk sda SCSI device sdb: 156368016 512-byte hdwr sectors (80060 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back SCSI device sdb: 156368016 512-byte hdwr sectors (80060 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back sdb: sdb1 sdb2 < sdb5 > sd 2:0:0:0: Attached scsi disk sdb SCSI device sdc: 80418240 512-byte hdwr sectors (41174 MB) sdc: Write Protect is off sdc: Mode Sense: 00 3a 00 00 SCSI device sdc: drive cache: write back SCSI device sdc: 80418240 512-byte hdwr sectors (41174 MB) sdc: Write Protect is off sdc: Mode Sense: 00 3a 00 00 SCSI device sdc: drive cache: write back sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 sdc7 sdc8 > sd 2:0:1:0: Attached scsi disk sdc sr0: scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.20 sr 3:0:0:0: Attached scsi CD-ROM sr0 sd 0:0:0:0: Attached scsi generic sg0 type 0 sd 2:0:0:0: Attached scsi generic sg1 type 0 sd 2:0:1:0: Attached scsi generic sg2 type 0 sr 3:0:0:0: Attached scsi generic sg3 type 5 PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 mice: PS/2 mouse device common for all mice input: PC Speaker as /class/input/input0 TCP bic registered NET: Registered protocol family 1 NET: Registered protocol family 17 Using IPI Shortcut mode ACPI: (supports S0 S3 S4 S5) Time: tsc clocksource has been installed. Freeing unused kernel memory: 176k freed input: AT Translated Set 2 keyboard as /class/input/input1 kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. input: ImPS/2 Logitech Wheel Mouse as /class/input/input2 kjournald starting. Commit interval 5 seconds EXT3-fs warning: checktime reached, running e2fsck is recommended EXT3 FS on sda1, internal journal EXT3-fs: mounted filesystem with ordered data mode. Linux version 2.6.17-rc6-mm2 (mat@mat-pc) (gcc version 4.1.2 20060613 (prerelease) (Debian 4.1.1-4)) #3 PREEMPT Sun Jun 18 15:44:13 CEST 2006 BIOS-provided physical RAM map: sanitize start sanitize end copy_e820_map() start: 0000000000000000 size: 000000000009fc00 end: 000000000009fc00 type: 1 copy_e820_map() type is E820_RAM add_memory_region(0000000000000000, 000000000009fc00, 1) copy_e820_map() start: 000000000009fc00 size: 0000000000000400 end: 00000000000a0000 type: 2 add_memory_region(000000000009fc00, 0000000000000400, 2) copy_e820_map() start: 00000000000f0000 size: 0000000000010000 end: 0000000000100000 type: 2 add_memory_region(00000000000f0000, 0000000000010000, 2) copy_e820_map() start: 0000000000100000 size: 000000003fef0000 end: 000000003fff0000 type: 1 copy_e820_map() type is E820_RAM add_memory_region(0000000000100000, 000000003fef0000, 1) copy_e820_map() start: 000000003fff0000 size: 0000000000008000 end: 000000003fff8000 type: 3 add_memory_region(000000003fff0000, 0000000000008000, 3) copy_e820_map() start: 000000003fff8000 size: 0000000000008000 end: 0000000040000000 type: 4 add_memory_region(000000003fff8000, 0000000000008000, 4) copy_e820_map() start: 00000000fec00000 size: 0000000000001000 end: 00000000fec01000 type: 2 add_memory_region(00000000fec00000, 0000000000001000, 2) copy_e820_map() start: 00000000fee00000 size: 0000000000001000 end: 00000000fee01000 type: 2 add_memory_region(00000000fee00000, 0000000000001000, 2) copy_e820_map() start: 00000000fff80000 size: 0000000000080000 end: 0000000100000000 type: 2 add_memory_region(00000000fff80000, 0000000000080000, 2) BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff8000 (ACPI data) BIOS-e820: 000000003fff8000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) 127MB HIGHMEM available. 896MB LOWMEM available. found SMP MP-table at 000fb940 On node 0 totalpages: 262128 DMA zone: 4096 pages, LIFO batch:0 Normal zone: 225280 pages, LIFO batch:31 HighMem zone: 32752 pages, LIFO batch:7 DMI 2.3 present. ACPI: RSDP (v000 AMI ) @ 0x000fa8e0 ACPI: RSDT (v001 AMIINT VIA_K7 0x00000010 MSFT 0x00000097) @ 0x3fff0000 ACPI: FADT (v001 AMIINT VIA_K7 0x00000011 MSFT 0x00000097) @ 0x3fff0030 ACPI: MADT (v001 AMIINT VIA_K7 0x00000009 MSFT 0x00000097) @ 0x3fff00c0 ACPI: DSDT (v001 VIA VIA_K7 0x00001000 MSFT 0x0100000d) @ 0x00000000 ACPI: PM-Timer IO Port: 0x808 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 6:6 APIC version 16 ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Enabling APIC mode: Flat. Using 1 I/O APICs Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 50000000 (gap: 40000000:bec00000) Detected 1533.489 MHz processor. Built 1 zonelists. Total pages: 262128 Kernel command line: root=/dev/sdc3 ro ide=reverse init=/bin/sh log_buf_len=32M log_buf_len: 33554432 mapped APIC to ffffd000 (fee00000) mapped IOAPIC to ffffc000 (fec00000) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 PID hash table entries: 4096 (order: 12, 16384 bytes) Console: colour VGA+ 80x25 ------------------------ | Locking API testsuite: ---------------------------------------------------------------------------- | spin |wlock |rlock |mutex | wsem | rsem | -------------------------------------------------------------------------- A-A deadlock:failed|failed|failed|failed|failed|failed| A-B-B-A deadlock:failed|failed| ok |failed|failed|failed| A-B-B-C-C-A deadlock:failed|failed| ok |failed|failed|failed| A-B-C-A-B-C deadlock:failed|failed| ok |failed|failed|failed| A-B-B-C-C-D-D-A deadlock:failed|failed| ok |failed|failed|failed| A-B-C-D-B-D-D-A deadlock:failed|failed| ok |failed|failed|failed| A-B-C-D-B-C-D-A deadlock:failed|failed| ok |failed|failed|failed| double unlock:failed|failed|failed| ok |failed|failed| initialize held:failed|failed|failed|failed|failed|failed| bad unlock order: ok | ok | ok | ok | ok | ok | -------------------------------------------------------------------------- recursive read-lock: | ok | |failed| recursive read-lock #2: |failed| |failed| mixed read-write-lock: |failed| |failed| mixed write-read-lock: |failed| |failed| -------------------------------------------------------------------------- hard-irqs-on + irq-safe-A/12:failed|failed| ok | soft-irqs-on + irq-safe-A/12:failed|failed| ok | hard-irqs-on + irq-safe-A/21:failed|failed| ok | soft-irqs-on + irq-safe-A/21:failed|failed| ok | sirq-safe-A => hirqs-on/12:failed|failed| ok | sirq-safe-A => hirqs-on/21:failed|failed| ok | hard-safe-A + irqs-on/12:failed|failed| ok | soft-safe-A + irqs-on/12:failed|failed| ok | hard-safe-A + irqs-on/21:failed|failed| ok | soft-safe-A + irqs-on/21:failed|failed| ok | hard-safe-A + unsafe-B #1/123:failed|failed| ok | soft-safe-A + unsafe-B #1/123:failed|failed| ok | hard-safe-A + unsafe-B #1/132:failed|failed| ok | soft-safe-A + unsafe-B #1/132:failed|failed| ok | hard-safe-A + unsafe-B #1/213:failed|failed| ok | soft-safe-A + unsafe-B #1/213:failed|failed| ok | hard-safe-A + unsafe-B #1/231:failed|failed| ok | soft-safe-A + unsafe-B #1/231:failed|failed| ok | hard-safe-A + unsafe-B #1/312:failed|failed| ok | soft-safe-A + unsafe-B #1/312:failed|failed| ok | hard-safe-A + unsafe-B #1/321:failed|failed| ok | soft-safe-A + unsafe-B #1/321:failed|failed| ok | hard-safe-A + unsafe-B #2/123:failed|failed| ok | soft-safe-A + unsafe-B #2/123:failed|failed| ok | hard-safe-A + unsafe-B #2/132:failed|failed| ok | soft-safe-A + unsafe-B #2/132:failed|failed| ok | hard-safe-A + unsafe-B #2/213:failed|failed| ok | soft-safe-A + unsafe-B #2/213:failed|failed| ok | hard-safe-A + unsafe-B #2/231:failed|failed| ok | soft-safe-A + unsafe-B #2/231:failed|failed| ok | hard-safe-A + unsafe-B #2/312:failed|failed| ok | soft-safe-A + unsafe-B #2/312:failed|failed| ok | hard-safe-A + unsafe-B #2/321:failed|failed| ok | soft-safe-A + unsafe-B #2/321:failed|failed| ok | hard-irq lock-inversion/123:failed|failed| ok | soft-irq lock-inversion/123:failed|failed| ok | hard-irq lock-inversion/132:failed|failed| ok | soft-irq lock-inversion/132:failed|failed| ok | hard-irq lock-inversion/213:failed|failed| ok | soft-irq lock-inversion/213:failed|failed| ok | hard-irq lock-inversion/231:failed|failed| ok | soft-irq lock-inversion/231:failed|failed| ok | hard-irq lock-inversion/312:failed|failed| ok | soft-irq lock-inversion/312:failed|failed| ok | hard-irq lock-inversion/321:failed|failed| ok | soft-irq lock-inversion/321:failed|failed| ok | hard-irq read-recursion/123: ok | soft-irq read-recursion/123: ok | hard-irq read-recursion/132: ok | soft-irq read-recursion/132: ok | hard-irq read-recursion/213: ok | soft-irq read-recursion/213: ok | hard-irq read-recursion/231: ok | soft-irq read-recursion/231: ok | hard-irq read-recursion/312: ok | soft-irq read-recursion/312: ok | hard-irq read-recursion/321: ok | soft-irq read-recursion/321: ok | -------------------------------------------------------- 146 out of 218 testcases failed, as expected. | ---------------------------------------------------- Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 1003488k/1048512k available (1665k kernel code, 44384k reserved, 573k data, 176k init, 131008k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay using timer specific routine.. 3069.77 BogoMIPS (lpj=6139544) Mount-cache hash table entries: 512 CPU: After generic identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000 00000000 00000000 CPU: After vendor identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000 00000000 00000000 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 256K (64 bytes/line) CPU: After all inits, caps: 0383fbff c1c3fbff 00000000 00000420 00000000 00000000 00000000 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. Compat vDSO mapped to ffffe000. CPU: AMD Athlon(tm) XP 1800+ stepping 02 Checking 'hlt' instruction... OK. SMP alternatives: switching to UP code Freeing SMP alternatives: 0k freed ENABLING IO-APIC IRQs ..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1 NET: Registered protocol family 16 ACPI: bus type pci registered PCI: PCI BIOS revision 2.10 entry at 0xfdaf1, last bus=1 Setting up standard PCI resources ACPI: Subsystem revision 20060310 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI quirk: region 0800-087f claimed by vt8235 PM PCI quirk: region 0400-040f claimed by vt8235 SMB Boot video device is 0000:01:00.0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *10 11 12 14 15) Linux Plug and Play Support v0.97 (c) Adam Belay pnp: PnP ACPI init pnp: PnP ACPI: found 13 devices PnPBIOS: Disabled by ACPI PNP SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report PCI: Bridge: 0000:00:01.0 IO window: disabled. MEM window: ddd00000-dfdfffff PREFETCH window: cda00000-ddbfffff PCI: Setting latency timer of device 0000:00:01.0 to 64 NET: Registered protocol family 2 IP route cache hash table entries: 32768 (order: 5, 131072 bytes) TCP established hash table entries: 131072 (order: 7, 524288 bytes) TCP bind hash table entries: 65536 (order: 6, 262144 bytes) TCP: Hash tables configured (established 131072 bind 65536) TCP reno registered Machine check exception polling timer started. highmem bounce pool size: 64 pages Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered (default) io scheduler deadline registered io scheduler cfq registered libata version 1.30 loaded. pata_sil680 0000:00:07.0: version 0.3.1 sil680: BA5_EN = 1 clock = 00 sil680: BA5_EN = 1 clock = 10 sil680: 133MHz clock. ACPI: PCI Interrupt 0000:00:07.0[A] -> GSI 18 (level, low) -> IRQ 16 ata1: PATA max UDMA/133 cmd 0xE800 ctl 0xE402 bmdma 0xD800 irq 16 ata2: PATA max UDMA/133 cmd 0xE000 ctl 0xDC02 bmdma 0xD808 irq 16 ata1.00: cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c69 86:3e01 87:4003 88:007f ata1.00: ATA-7, max UDMA/133, 156368016 sectors: LBA48 ata1.00: configured for UDMA/133 scsi0 : pata_sil680 scsi1 : pata_sil680 Vendor: ATA Model: SAMSUNG SP0802N Rev: TK10 Type: Direct-Access ANSI SCSI revision: 05 pata_via 0000:00:11.1: version 0.1.11 ACPI (acpi_bus-0192): Device [IDE0] is not power manageable [20060310] ACPI Warning (pci_irq-0370): Unable to derive IRQ for device 0000:00:11.1 [20060310] ACPI: PCI Interrupt 0000:00:11.1[A]: no GSI PCI: VIA IRQ fixup for 0000:00:11.1, from 255 to 15 ata3: PATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xFC00 irq 14 ata3.00: cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c69 86:3c01 87:4003 88:203f ata3.00: ATA-7, max UDMA/100, 156368016 sectors: LBA48 ata3.01: cfg 49:2f00 82:74eb 83:5bea 84:4000 85:7469 86:1a02 87:4003 88:203f ata3.01: ATA-5, max UDMA/100, 80418240 sectors: LBA ata3.00: configured for UDMA/100 ata3.01: configured for UDMA/100 scsi2 : pata_via Vendor: ATA Model: SAMSUNG SP0802N Rev: TK10 Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: IC35L040AVVA07-0 Rev: VA2O Type: Direct-Access ANSI SCSI revision: 05 ata4: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xFC08 irq 15 ata4.00: cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407 ata4.00: ATAPI, max UDMA/33 ata4.01: cfg 49:0b00 82:0210 83:1000 84:0000 85:0000 86:0000 87:0000 88:0407 ata4.01: ATAPI, max UDMA/33 ata4.00: configured for UDMA/33 ata4: ata_altstatus take 3us ata4.01: configured for UDMA/33 scsi3 : pata_via Vendor: TOSHIBA Model: DVD-ROM SD-M1612 Rev: 1004 Type: CD-ROM ANSI SCSI revision: 05 Vendor: CD-RW Model: CDR-6S48 Rev: SSG5 Type: CD-ROM ANSI SCSI revision: 05 SCSI device sda: 156368016 512-byte hdwr sectors (80060 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back SCSI device sda: 156368016 512-byte hdwr sectors (80060 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: drive cache: write back sda: sda1 sd 0:0:0:0: Attached scsi disk sda SCSI device sdb: 156368016 512-byte hdwr sectors (80060 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back SCSI device sdb: 156368016 512-byte hdwr sectors (80060 MB) sdb: Write Protect is off sdb: Mode Sense: 00 3a 00 00 SCSI device sdb: drive cache: write back sdb: sdb1 sdb2 < sdb5 > sd 2:0:0:0: Attached scsi disk sdb SCSI device sdc: 80418240 512-byte hdwr sectors (41174 MB) sdc: Write Protect is off sdc: Mode Sense: 00 3a 00 00 SCSI device sdc: drive cache: write back SCSI device sdc: 80418240 512-byte hdwr sectors (41174 MB) sdc: Write Protect is off sdc: Mode Sense: 00 3a 00 00 SCSI device sdc: drive cache: write back sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 sdc7 sdc8 > sd 2:0:1:0: Attached scsi disk sdc sr0: scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.20 sr 3:0:0:0: Attached scsi CD-ROM sr0 sr1: scsi3-mmc drive: 174x/48x writer cd/rw xa/form2 cdda tray sr 3:0:1:0: Attached scsi CD-ROM sr1 sd 0:0:0:0: Attached scsi generic sg0 type 0 sd 2:0:0:0: Attached scsi generic sg1 type 0 sd 2:0:1:0: Attached scsi generic sg2 type 0 sr 3:0:0:0: Attached scsi generic sg3 type 5 sr 3:0:1:0: Attached scsi generic sg4 type 5 PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 mice: PS/2 mouse device common for all mice input: PC Speaker as /class/input/input0 input: AT Translated Set 2 keyboard as /class/input/input1 TCP bic registered NET: Registered protocol family 1 NET: Registered protocol family 17 Using IPI Shortcut mode ACPI: (supports S0 S3 S4 S5) Freeing unused kernel memory: 176k freed Time: tsc clocksource has been installed. kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. input: ImPS/2 Logitech Wheel Mouse as /class/input/input2 kjournald starting. Commit interval 5 seconds EXT3-fs warning: checktime reached, running e2fsck is recommended EXT3 FS on sda1, internal journal EXT3-fs: mounted filesystem with ordered data mode. Index: linux-2.6.16/drivers/scsi/libata-core.c =================================================================== --- linux-2.6.16.orig/drivers/scsi/libata-core.c 2006-06-18 15:23:49.000000000 +0200 +++ linux-2.6.16/drivers/scsi/libata-core.c 2006-06-18 20:57:13.000000000 +0200 @@ -4706,6 +4706,7 @@ struct ata_queued_cmd *qc) { u8 status, host_stat = 0; + int i; VPRINTK("ata%u: protocol %d task_state %d\n", ap->id, qc->tf.protocol, ap->hsm_task_state); @@ -4752,9 +4753,25 @@ } /* check altstatus */ - status = ata_altstatus(ap); - if (status & ATA_BUSY) - goto idle_irq; + if (qc->tf.command == ATA_CMD_SET_FEATURES && + qc->tf.feature == SETFEATURES_XFER) { + /* With some configurations (PATA VIA and CDR-6S48), the + * ata_altstatus take some times (~ 3us) to become not busy. + * Without this quirk, it is impossible to set the xfer mode. + */ + for (i = 0; ata_altstatus(ap) & ATA_BUSY; i++) { + if (i > 10) + goto idle_irq; + udelay(1); + } + + if (i) + ata_port_printk(ap, KERN_WARNING, "ata_altstatus take %dus\n", i); + } else { + status = ata_altstatus(ap); + if (status & ATA_BUSY) + goto idle_irq; + } /* check main status, clearing INTRQ */ status = ata_chk_status(ap); | |