On Mon, 15 Jun 2009, Alan Jenkins wrote: > Alan Stern wrote: > > On Mon, 15 Jun 2009, Alan Jenkins wrote: > > > > > >> Hi, > >> > >> I triggered a WARNING while hacking on eeepc-laptop's > >> rfkill-by-pci-hotplug. I saw "Trying to free already-free IRQ" in > >> ath5k_pci_remove(), because the IRQ was already freed by > >> ath5k_pci_suspend(). My changes to eeepc-laptop had allowed the PCI > >> device to be removed while suspended. > >> > >> Are PCI drivers supposed to handle remove() while suspended? > >> > > > > Yes. You found a bug in the driver. However it's not clear (to me at > > least) whether the bug is that the IRQ is freed in the suspend method > > or that there's no check for already-freed in the remove method. My > > guess is the latter. > > > > Alan Stern > > > > The example in Documentation/power/pci.txt shows free_irq() being called > in suspend (and request_irq() in resume). So the problem is in remove(). I'm not sure whether the example is trustworthy. There was some discussion quite a while ago regarding whether drivers should free their IRQs during suspend, but I don't remember what the outcome was. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html