[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48B522D2.4090605@garzik.org>
Date: Wed, 27 Aug 2008 05:48:02 -0400
From: Jeff Garzik <jeff@...zik.org>
To: akpm@...ux-foundation.org
CC: netdev@...r.kernel.org, rjw@...k.pl, aabdulla@...dia.com,
yhlu.kernel@...il.com
Subject: Re: [patch for 2.6.27? 5/5] forcedeth: fix kexec regression
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?
Jeff
--
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