Web lists-archives.org

Re: [PATCH] net: forcedeth use pci_choose_state instead of PCI_D3hot - v2




On 19/08/08 22:09, Rafael J. Wysocki wrote:
> On Tuesday, 19 of August 2008, Simon Arlott wrote:
>> On 19/08/08 18:58, Rafael J. Wysocki wrote:
>> > On Tuesday, 19 of August 2008, Simon Arlott wrote:
>> >> On 18/08/08 23:08, Rafael J. Wysocki wrote:
>> >> > On Monday, 18 of August 2008, Yinghai Lu wrote:
>> >> >> On Mon, Aug 18, 2008 at 3:22 AM, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
>> >> >> 
>> >> >> >> > >  drivers/net/forcedeth.c |    8 +++++---
>> >> >> >> > >  1 file changed, 5 insertions(+), 3 deletions(-)
>> >> >> >> > >
>> >> >> >> > > Index: linux-2.6/drivers/net/forcedeth.c
>> >> >> >> > > ===================================================================
>> >> >> >> > > --- linux-2.6.orig/drivers/net/forcedeth.c
>> >> >> >> > > +++ linux-2.6/drivers/net/forcedeth.c
>> >> >> >> > > @@ -5975,10 +5975,12 @@ static void nv_shutdown(struct pci_dev *
>> >> >> >> > >        if (netif_running(dev))
>> >> >> >> > >                nv_close(dev);
>> >> >> >> > >
>> >> >> >> > > -       pci_enable_wake(pdev, PCI_D3hot, np->wolenabled);
>> >> >> >> > > -       pci_enable_wake(pdev, PCI_D3cold, np->wolenabled);
>> >> >> >> > >        pci_disable_device(pdev);
>> >> >> >> > > -       pci_set_power_state(pdev, PCI_D3hot);
>> >> >> >> > > +       if (system_state == SYSTEM_POWER_OFF) {
>> >> >> >> > > +               if (pci_enable_wake(pdev, PCI_D3cold, np->wolenabled))
>> >> >> >> > > +                       pci_enable_wake(pdev, PCI_D3hot, np->wolenabled);
>> >> >> >> > > +               pci_set_power_state(pdev, PCI_D3hot);
>> >> >> >> > > +       }
>> >> >> >> > >  }
>> >> >> >> > >  #else
>> >> >> >> > >  #define nv_suspend NULL
>> >> >> >> > >
>> >> >> >> >
>> >> >> 
>> >> >> > Does the last patch work for you BTW?
>> >> >> >
>> >> >> 
>> >> >> it works.
>> >> > 
>> >> > OK, thanks for testing.
>> >> > 
>> >> > I think we can use it as a quick fix for 2.6.27.  Do you agree?
>> >> > 
>> >> > Still, it would be helpful to verify if this is the same MSI issue reported by
>> >> > Simon.
>> >> 
>> >> I tried to test that patch but even without it standby/resume has stopped working:
>> > 
>> > Which kernel is this?
>> 
>> linus-2.6 a7f5aaf36ded825477c4d7167cc6eb1bcdc63191
>> 
>> I've reverted to 2b12a4c524812fb3f6ee590a02e65b95c8c32229 where standby/resume still 
>> works and applied the above patch plus the pci_enable_device patch. It still doesn't 
>> work after resume if MSI is enabled.
> 
> My patch only affects the shutdown code path and is not related to
> suspend/standby etc.
> 
> Could you identify the commit that broke standby/resume for you between
> 2b12a4c524812fb3f6ee590a02e65b95c8c32229 and
> a7f5aaf36ded825477c4d7167cc6eb1bcdc63191 ?  It looks like that should be
> bisectable.

It appears to be working again as of ee096f75b69913dbad0e6f7f2572513de5c90002.

-- 
Simon Arlott

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/