Hello! On Fri, 2006-04-07 at 23:24 +0200, Francois Romieu wrote: > Pavel Roskin <[EMAIL PROTECTED]> : > [...] > > diff --git a/drivers/net/wireless/orinoco_pci.c > > b/drivers/net/wireless/orinoco_pci.c > > index 5362c21..e57e92b 100644 > > --- a/drivers/net/wireless/orinoco_pci.c > > +++ b/drivers/net/wireless/orinoco_pci.c > > @@ -304,7 +304,9 @@ static int orinoco_pci_suspend(struct pc > > > > orinoco_unlock(priv, &flags); > > > > + free_irq(pdev->irq, dev); > > pci_save_state(pdev); > > + pci_disable_device(pdev); > > pci_set_power_state(pdev, PCI_D3hot); > > > > return 0; > > /me stares at the thread behind http://lkml.org/lkml/2005/7/30/143 > > Imho {free/request}_irq during suspend/resume deserves some > explanation.
I followed examples from other drivers. The thread in question deals with the patch where pci_disable_device() precedes free_irq(). Besides, bridges may need special care because they pass interrupts from other devices. I also followed the kernel documentation (Documentation/power/pci.txt), which says that the driver should free the IRQ on suspend. If you can suggest an alternative approach, please do so. I don't see what I can do differently. -- Regards, Pavel Roskin - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html