Search Linux Wireless

Re: [linux-pm] PCI hotplug v.s. suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 15 June 2009, Alan Stern wrote:
> 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.

No, they shouldn't.

That's why we do the entire suspend_device_irqs() thing etc.

Best,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux