linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.6.20-rc3 IRQ race upon resume? => killing SATA IRQ
@ 2007-01-03 23:26 Bjorn Wesen
  2007-01-04  1:55 ` Bjorn Wesen
  0 siblings, 1 reply; 4+ messages in thread
From: Bjorn Wesen @ 2007-01-03 23:26 UTC (permalink / raw)
  To: linux-ide

Hi folks,

There is only one thing keeping suspend-to-ram on my Sony Vaio SZ2 laptop 
from working currently, and that is that most of the times I suspend/resume, 
the SATA HD becomes blocked. Looking closer it is because an irq occurs 
during resume, which reaches ata_interrupt, it does not handle it, and Linux 
responds by blocking it permanently (the dreaded irq X: nobody cared).

The SZ2 has a Core Duo CPU, ICH7 and SATA is handled by the ata_piix driver. 
No other PCI interrupts are mapped or enabled to the same interrupt.

I can't help thinking this looks like a race, because it resumes correctly 
sometimes and then the HD works perfectly fine. Perhaps the SATA driver 
hasn't recovered itself at the time the first irq occurs and thus it feels 
it shouldn't handle it ?

I can't paste in the dmesg because the HD locks when it happens and thus 
it's not written to it, but essentially, the "nobody cared" msg comes after 
the extra CPU core is brought up, then the irq is disabled, then the ata 
driver is trying to reconfigure the devices and then it locks up.

I can debug it but I'd need some pointers on where to start. For example, 
one strategy could be to try forcing an acknowledge of the interrupt somehow 
in the bottom of ata_interrupt if it feels it can't handle an interrupt 
(I've only programmed embedded linux before not i386 so I don't know where 
to ack such an irq - in the PCI bridge itself, or in the ATA device ? :).

Another strategy could be to find the reason why the interrupt is not 
handled by enabling some debug or something which I haven't really looked 
into yet...

Any ideas ?

Regards,

Bjorn

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-01-04 10:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-03 23:26 2.6.20-rc3 IRQ race upon resume? => killing SATA IRQ Bjorn Wesen
2007-01-04  1:55 ` Bjorn Wesen
2007-01-04  4:37   ` Tejun Heo
2007-01-04 10:13   ` Alan

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).