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

Reply via email to