[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <200808271252.21244.rjw@sisk.pl>
Date: Wed, 27 Aug 2008 12:52:20 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Jeff Garzik <jeff@...zik.org>
Cc: akpm@...ux-foundation.org, netdev@...r.kernel.org,
aabdulla@...dia.com, yhlu.kernel@...il.com
Subject: Re: [patch for 2.6.27? 5/5] forcedeth: fix kexec regression
On Wednesday, 27 of August 2008, Jeff Garzik wrote:
> akpm@...ux-foundation.org wrote:
> > From: Rafael J. Wysocki <rjw@...k.pl>
> >
> > Fix regression tracked as http://bugzilla.kernel.org/show_bug.cgi?id=11361
> > and caused by commit f735a2a1a4f2a0f5cd823ce323e82675990469e2 ("[netdrvr]
> > forcedeth: setup wake-on-lan before shutting down") that makes network
> > adapters integrated into the NVidia MCP55 chipsets fail to work in kexeced
> > kernels. The problem appears to be that if the adapter is put into D3_hot
> > during ->shutdown(), it cannot be brought back into D0 after kexec (ref.
> > http://marc.info/?l=linux-kernel&m=121900062814967&w=4). Therefore, only
> > put forcedeth into D3 during ->shutdown() if the system is to be powered
> > off.
> >
> > Signed-off-by: Rafael J. Wysocki <rjw@...k.pl>
> > Tested-by: Yinghai Lu <yhlu.kernel@...il.com>
> > Cc: Ayaz Abdulla <aabdulla@...dia.com>
> > Cc: Jeff Garzik <jeff@...zik.org>
> > Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> > ---
> >
> > drivers/net/forcedeth.c | 8 +++++---
> > 1 file changed, 5 insertions(+), 3 deletions(-)
> >
> > diff -puN drivers/net/forcedeth.c~forcedeth-fix-kexec-regression drivers/net/forcedeth.c
> > --- a/drivers/net/forcedeth.c~forcedeth-fix-kexec-regression
> > +++ a/drivers/net/forcedeth.c
> > @@ -5990,10 +5990,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);
> > + }
> > }
>
> All,
>
> Is this the final version of this patch?
Yes, it is.
Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists