From patchwork Mon Sep 22 21:10:21 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [for,2.6.27?,07/10] ne.c: fix suspend and resume for ISA PnP cards Date: Mon, 22 Sep 2008 11:10:21 -0000 From: Andrew Morton X-Patchwork-Id: 947 Message-Id: <200809222110.m8MLALvH029893@imap1.linux-foundation.org> To: jeff@garzik.org Cc: netdev@vger.kernel.org, akpm@linux-foundation.org, david@fries.net, alan@lxorguk.ukuu.org.uk, anemo@mba.ocn.ne.jp, p_gortmaker@yahoo.com From: David Fries A call to pnp_stop_dev and pnp_start_dev now shuts down and initializes plug and play devices for suspend and resume. Signed-off-by: David Fries Cc: Atsushi Nemoto Cc: Paul Gortmaker Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton --- drivers/net/ne.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff -puN drivers/net/ne.c~nec-fix-suspend-and-resume-for-isa-pnp-cards drivers/net/ne.c --- a/drivers/net/ne.c~nec-fix-suspend-and-resume-for-isa-pnp-cards +++ a/drivers/net/ne.c @@ -895,8 +895,12 @@ static int ne_drv_suspend(struct platfor { struct net_device *dev = platform_get_drvdata(pdev); - if (netif_running(dev)) + if (netif_running(dev)) { + struct pnp_dev *idev = (struct pnp_dev *)ei_status.priv; netif_device_detach(dev); + if (idev) + pnp_stop_dev(idev); + } return 0; } @@ -905,6 +909,9 @@ static int ne_drv_resume(struct platform struct net_device *dev = platform_get_drvdata(pdev); if (netif_running(dev)) { + struct pnp_dev *idev = (struct pnp_dev *)ei_status.priv; + if (idev) + pnp_start_dev(idev); ne_reset_8390(dev); NS8390p_init(dev, 1); netif_device_attach(dev);