On 28 January 2013 23:01, Stefan Richter <[email protected]> wrote: > On Jan 28 Mark Einon wrote: >> This patch fixes the kernel warning generated when putting an MSI MS-1727 >> GT740 laptop into suspend mode. The call sequence in this case calls >> free_irq() twice, once in pci_remove() and once then in pci_suspend(). > > You mean /first/ in pci_suspend() and /then/ in pci_remove() on the > already suspended devices, right?
Yes, I did. The call sequence is suspend then resume. My bad. > > Because the other way around, first pci_remove(), then pci_suspend(), > surely must not appen. And if it does, the bug is elsewhere but not in > firewire-ohci. > > On that note, is pci_suspend() -> pci_remove() actually a legal state > transition that must be handled by drivers? It's happening on the Ubuntu 12.10 distro which performs the suspend then remove sequence. I assumed that was normal. > > Another comment below. <snip> > > firewire-ohci's pci_resume() calls request_irq() a little bit before that, > in ohci_enable(). Is the sequence pci_probe/request_irq() -> > pci_suspend/disable_irq() -> pci_resume/request_irq() -> > pci_resume/enable_irq() legal? I missed the call to request_irq(). Perhaps the simplest way to handle the fix would be to use a flag that holds the irq state? I'm open to suggestions. Cheers, Mark -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

