netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: tglx@linutronix.de
Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>,
	Jeff Garzik <jeff@garzik.org>,
	linux-ide@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
	Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
	Stephen Hemminger <shemminger@linux-foundation.org>,
	netdev@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: 2.6.21-rc3-git4 ata1.00: qc timeout (cmd 0xef) (crashdump	kernel)
Date: Tue, 13 Mar 2007 01:56:36 +0900	[thread overview]
Message-ID: <45F58644.1070905@gmail.com> (raw)
In-Reply-To: <1173718012.13341.95.camel@localhost.localdomain>

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.

-- 
tejun

  reply	other threads:[~2007-03-12 16:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <6bffcb0e0703090857r14eda34bj92f3fd1d0008edb8@mail.gmail.com>
     [not found] ` <45F51218.9030907@gmail.com>
2007-03-12 16:31   ` 2.6.21-rc3-git4 ata1.00: qc timeout (cmd 0xef) (crashdump kernel) Michal Piotrowski
2007-03-12 16:37     ` Tejun Heo
2007-03-12 16:47       ` Thomas Gleixner
2007-03-12 16:47         ` Tejun Heo
2007-03-12 17:36           ` Michal Piotrowski
2007-03-12 16:46     ` Thomas Gleixner
2007-03-12 16:56       ` Tejun Heo [this message]
2007-03-12 18:50         ` Stephen Hemminger
2007-03-12 19:03           ` Tejun Heo
2007-03-12 19:30             ` Stephen Hemminger
2007-03-12 19:40               ` Tejun Heo
2007-03-13 18:26                 ` Michal Piotrowski

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=45F58644.1070905@gmail.com \
    --to=htejun@gmail.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bzolnier@gmail.com \
    --cc=jeff@garzik.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=michal.k.k.piotrowski@gmail.com \
    --cc=mingo@elte.hu \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@linux-foundation.org \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).