lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 12 Mar 2007 11:50:37 -0700
From:	Stephen Hemminger <shemminger@...ux-foundation.org>
To:	Tejun Heo <htejun@...il.com>
Cc:	tglx@...utronix.de,
	Michal Piotrowski <michal.k.k.piotrowski@...il.com>,
	Jeff Garzik <jeff@...zik.org>, linux-ide@...r.kernel.org,
	Ingo Molnar <mingo@...e.hu>,
	Bartlomiej Zolnierkiewicz <bzolnier@...il.com>,
	netdev@...r.kernel.org, Alan Cox <alan@...rguk.ukuu.org.uk>
Subject: Re: 2.6.21-rc3-git4 ata1.00: qc timeout (cmd 0xef) (crashdump
 kernel)

On Tue, 13 Mar 2007 01:56:36 +0900
Tejun Heo <htejun@...il.com> wrote:

> Thomas Gleixner wrote:
> > On Mon, 2007-03-12 at 17:31 +0100, Michal Piotrowski wrote:
> >> Calling initcall 0xc19154d8: piix_ide_init+0x0/0xbb()
> >> Calling initcall 0xc19155b6: generic_ide_init+0x0/0x16()
> >> Calling initcall 0xc191572e: ide_init+0x0/0x81()
> >> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> >> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> >> ICH5: IDE controller at PCI slot 0000:00:1f.1
> >> irq 5: nobody cared (try booting with the "irqpoll" option)
> >>  [<c1604556>] show_trace_log_lvl+0x1a/0x2f
> >>  [<c1604c2c>] show_trace+0x12/0x14
> >>  [<c1604cde>] dump_stack+0x16/0x18
> >>  [<c164341c>] __report_bad_irq+0x39/0x79
> >>  [<c16435eb>] note_interrupt+0x18f/0x1c8
> >>  [<c1643ec6>] handle_level_irq+0x95/0xcb
> >>  [<c1605dd8>] do_IRQ+0xb4/0xe0
> >>  =======================
> >> handlers:
> >> [<c174f55e>] (skge_intr+0x0/0x3ff)
> >> Disabling IRQ #5
> > 
> > I know this one :( 
> > 
> > It seems to be related to the BIOS spinning up the CDROM and leaving the
> > IDE controller in some weird state. When we come back the interrupt is
> > screaming and nobody cares, so it gets disabled. I have no clue yet, how
> > to handle this.
> > 
> > Disabling the interrupt across suspend/resume helps, but does not work,
> > when the interrupt is shared with some other device.
> 
> Similar thing can happen during initialization.  I haven't actually
> instrumented the code but I think what happens is
> 
> 1. the controller has IRQ stuck high (infrequent but possible)
> 2. the IRQ is already requested by another device
> 3. the IRQ gets disabled due to screaming interrupts at the moment
> ata_piix does pci_enable_device().
> 
> I think we can be much more resilient to screaming interrupts if we
> enable device with IRQ disabled and enable it after the device is
> initialized to some level, possibly when requesting IRQ.

The first thing the skge driver does is do a chip reset, and that should
cause IRQ to be disabled and cleared. The driver has no chance to
fix it if the BIOS left the IRQ screaming...

> 
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ