All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ondrej Zary <linux@rainbow-software.org>
To: Alan Cox <alan@redhat.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-ide@vger.kernel.org
Subject: Re: pata_it821x completely broken
Date: Sun, 6 Jul 2008 23:03:03 +0200	[thread overview]
Message-ID: <200807062303.05994.linux@rainbow-software.org> (raw)
In-Reply-To: <20080705154951.GC20937@devserv.devel.redhat.com>

On Saturday 05 July 2008 17:49:51 Alan Cox wrote:
> On Sat, Jul 05, 2008 at 12:41:58PM +0200, Ondrej Zary wrote:
> > Samsungs). Seems like any drive that can't do UDMA fails (looks like
> > MWDMA is broken). The controller BIOS creates the array fine but it
> > doesn't work in
>
> I've no idea if the BIOS firmware mode can do MWDMA to the drives. The
> actual interface between the card and the kernel has no mode stuff at all.
>
> > When I force the pass-through mode, it oopses (haven't captured it yet as
> > it's > too long). Forcing pass-through mode works fine with UDMA-capable
> > drives:
>
> Interesting and definitely sounds like a bug.

Did some testing with older drives (and netconsole), everything in 
pass-through mode. Looks like the controller firmware does not like some of 
them (<1GB ones).

IBM H3256-A3 - firmware hangs (BIOS displays that the firmware is not ready)
Maxtor 7120AT - firmware hangs

WD Caviar 2850 - firmware does not detect it but works in Linux
WD Caviar 1425 - firmware does not detect it but works in Linux


WD Caviar 1270 - firmware does not detect it and fails in Linux - detected as 
8860MB instead of 270MB and is unreadable:

scsi 3:0:1:0: Direct-Access     ATA      WDC AC1270G ! !  12/0 PQ: 0 ANSI: 5
sd 3:0:1:0: [sdd] 17305408 512-byte hardware sectors (8860 MB)
sd 3:0:1:0: [sdd] Write Protect is off
sd 3:0:1:0: [sdd] Write cache: disabled, read cache: enabled, doesn't support 
DPO or FUA
sd 3:0:1:0: [sdd] 17305408 512-byte hardware sectors (8860 MB)
sd 3:0:1:0: [sdd] Write Protect is off
sd 3:0:1:0: [sdd] Write cache: disabled, read cache: enabled, doesn't support 
DPO or FUA
 sdd:<3>ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata4.01: BMDMA stat 0x4
ata4.01: cmd c8/00:08:00:00:00/00:00:00:00:00/f0 tag 0 dma 4096 in
         res 59/04:08:00:00:00/00:00:00:00:00/f0 Emask 0x2 (HSM violation)
ata4.01: status: { DRDY DRQ ERR }
ata4.01: error: { ABRT }
ata4: soft resetting link
ata4.00: configured for UDMA/100
ata4.01: configured for MWDMA1 (device error ignored)
ata4: EH complete
ata4.01: limiting speed to MWDMA0:PIO3
ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata4.01: BMDMA stat 0x4
ata4.01: cmd c8/00:08:00:00:00/00:00:00:00:00/f0 tag 0 dma 4096 in
         res 59/04:08:00:00:00/00:00:00:00:00/f0 Emask 0x2 (HSM violation)
ata4.01: status: { DRDY DRQ ERR }
ata4.01: error: { ABRT }
ata4: soft resetting link
ata4.00: configured for UDMA/100
ata4.01: configured for MWDMA0 (device error ignored)
ata4: EH complete
sd 3:0:0:0: [sdc] 781422768 512-byte hardware sectors (400088 MB)
ata4.01: limiting speed to PIO3
ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata4.01: BMDMA stat 0x4
ata4.01: cmd c8/00:08:00:00:00/00:00:00:00:00/f0 tag 0 dma 4096 in
         res 59/04:08:00:00:00/00:00:00:00:00/f0 Emask 0x2 (HSM violation)
ata4.01: status: { DRDY DRQ ERR }
ata4.01: error: { ABRT }
ata4: soft resetting link
ata4.00: configured for UDMA/100
ata4.01: configured for PIO3
ata4: EH complete
sd 3:0:0:0: [sdc] Write Protect is off
ata4.01: limiting speed to PIO2
ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata4.01: cmd 20/00:08:00:00:00/00:00:00:00:00/f0 tag 0 pio 4096 in
         res 51/04:08:00:00:00/00:00:00:00:00/f0 Emask 0x1 (device error)
ata4.01: status: { DRDY ERR }
ata4.01: error: { ABRT }
ata4: soft resetting link
ata4.00: configured for UDMA/100
ata4.01: configured for PIO2
ata4: EH complete
ata4.01: limiting speed to PIO0
ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata4.01: cmd 20/00:08:00:00:00/00:00:00:00:00/f0 tag 0 pio 4096 in
         res 51/04:08:00:00:00/00:00:00:00:00/f0 Emask 0x1 (device error)
ata4.01: status: { DRDY ERR }
ata4.01: error: { ABRT }
ata4: soft resetting link
ata4.00: configured for UDMA/100
ata4.01: configured for PIO0
ata4: EH complete
sd 3:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support 
DPO or FUA
ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.01: cmd 20/00:08:00:00:00/00:00:00:00:00/f0 tag 0 pio 4096 in
         res 51/04:08:00:00:00/00:00:00:00:00/f0 Emask 0x1 (device error)
ata4.01: status: { DRDY ERR }
ata4.01: error: { ABRT }
ata4.00: configured for UDMA/100
ata4.01: configured for PIO0
sd 3:0:1:0: [sdd] Result: hostbyte=0x00 driverbyte=0x08
sd 3:0:1:0: [sdd] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00
        00 00 00 00
sd 3:0:1:0: [sdd] ASC=0x0 ASCQ=0x0

...




Maxtor 7270 AV - is detected by firmware but oopses in Linux:

pata_it821x: forcing bypass mode.
pata_it821x: controller in pass through mode.
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:12.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> 
IRQ 11
irq 11: nobody cared (try booting with the "irqpoll" option)
Pid: 1, comm: swapper Not tainted 2.6.25.3-pentium #5
 [<c012f48f>] __report_bad_irq+0x24/0x69
 [<c012f496>] __report_bad_irq+0x2b/0x69
 [<c012f680>] note_interrupt+0x1ac/0x1e4
 [<c012ee21>] handle_IRQ_event+0x1a/0x3f
 [<c012fcda>] handle_level_irq+0x0/0x8a
 [<c012fd27>] handle_level_irq+0x4d/0x8a
 [<c01051bb>] do_IRQ+0x78/0x9e
 [<c0103c53>] common_interrupt+0x23/0x30
 [<c013007b>] init_irq_proc+0x6/0x27
 [<c0115f59>] __do_softirq+0x2f/0x75
 [<c0105111>] do_softirq+0x3b/0x6d
 [<c012fcda>] handle_level_irq+0x0/0x8a
 [<c0115efc>] irq_exit+0x25/0x53
 [<c01051ce>] do_IRQ+0x8b/0x9e
 [<c0103c53>] common_interrupt+0x23/0x30
 [<c012f214>] setup_irq+0x11f/0x149
 [<c0120060>] cpu_clock_sample_group_locked+0x2/0xd3
 [<c023ce84>] ata_interrupt+0x0/0x1cc
 [<c012f2b5>] request_irq+0x77/0x93
 [<c023ce84>] ata_interrupt+0x0/0x1cc
 [<c012fe0c>] devm_request_irq+0x42/0x6e
 [<c02403a6>] ata_pci_activate_sff_host+0xb4/0x19f
 [<c023ce84>] ata_interrupt+0x0/0x1cc
 [<c0240850>] ata_pci_init_one+0x8c/0xd5
 [<c02475b5>] it821x_init_one+0x87/0x8c
 [<c01c632b>] pci_device_probe+0x36/0x55
 [<c021f6ce>] driver_probe_device+0x9c/0x112
 [<c021f824>] __driver_attach+0x50/0x83
 [<c021ed53>] bus_for_each_dev+0x31/0x52
 [<c021f582>] driver_attach+0x11/0x13
 [<c021f7d4>] __driver_attach+0x0/0x83
 [<c021f3c2>] bus_add_driver+0x91/0x193
 [<c021f9bd>] driver_register+0x45/0x9a
 [<c01c64bf>] __pci_register_driver+0x2b/0x58
 [<c0397600>] kernel_init+0x92/0x1d0
 [<c010fe52>] schedule_tail+0xe/0x39
 [<c01038a6>] ret_from_fork+0x6/0x20
 [<c039756e>] kernel_init+0x0/0x1d0
 [<c039756e>] kernel_init+0x0/0x1d0
 [<c0103d77>] kernel_thread_helper+0x7/0x10
 =======================
handlers:
[<c023ce84>] (ata_interrupt+0x0/0x1cc)
Disabling IRQ #11
scsi2 : pata_it821x
scsi3 : pata_it821x
ata3: PATA max UDMA/133 cmd 0x6800 ctl 0x6c00 bmdma 0x7800 irq 11
ata4: PATA max UDMA/133 cmd 0x7000 ctl 0x7400 bmdma 0x7808 irq 11



>
> > Then I created RAID 1 from the Seagate and Quantum drives. No matter if
> > the rebuild process is running or not, the result is the same - the
> > drives that form RAID aren't accessible, the other drives work:
>
> I would imagine the controller fakes a hotplug event when the rebuild
> finishes but that is guessing. The firmware mode is pretty minimally
> documented.
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/



-- 
Ondrej Zary

  reply	other threads:[~2008-07-06 21:03 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-04 19:53 pata_it821x completely broken Ondrej Zary
2008-07-04 20:22 ` Alan Cox
2008-07-04 21:39   ` Ondrej Zary
2008-07-04 21:46     ` Alan Cox
2008-07-05 10:41       ` Ondrej Zary
2008-07-05 15:49         ` Alan Cox
2008-07-06 21:03           ` Ondrej Zary [this message]
2008-07-06 20:51             ` Alan Cox
2008-07-06 21:46               ` Ondrej Zary
2008-07-06 19:37         ` Alan Cox
2008-07-06 21:50           ` Ondrej Zary
2008-07-06 23:01             ` Alan Cox
2008-07-07 18:07               ` Ondrej Zary
2008-07-10 20:35               ` Ondrej Zary
2008-07-11 18:43                 ` Ondrej Zary
2008-07-11 20:14                   ` Alan Cox
2008-07-12 21:42                     ` Ondrej Zary
2008-07-13 11:47                       ` Ondrej Zary
2008-07-13 11:35                         ` Alan Cox
2008-07-13 12:10                           ` Ondrej Zary
2008-07-13 14:08                             ` Alan Cox
2008-07-22 17:59                         ` Ondrej Zary
2008-07-22 18:10                           ` Alan Cox
2008-07-22 19:16                             ` Ondrej Zary
2008-07-22 19:35                               ` Rene Herman
2008-07-22 20:39                                 ` Alan Cox

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200807062303.05994.linux@rainbow-software.org \
    --to=linux@rainbow-software.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=alan@redhat.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.