From patchwork Mon Sep 22 21:52:15 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Morton X-Patchwork-Id: 983 X-Patchwork-Delegate: jgarzik@pobox.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id C5390DDF5F for ; Tue, 23 Sep 2008 08:00:14 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754662AbYIVV76 (ORCPT ); Mon, 22 Sep 2008 17:59:58 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754650AbYIVV7z (ORCPT ); Mon, 22 Sep 2008 17:59:55 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:56311 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754277AbYIVV7w (ORCPT ); Mon, 22 Sep 2008 17:59:52 -0400 Received: from imap1.linux-foundation.org (imap1.linux-foundation.org [140.211.169.55]) by smtp1.linux-foundation.org (8.14.2/8.13.5/Debian-3ubuntu1.1) with ESMTP id m8MLrDOL018507 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 22 Sep 2008 14:57:39 -0700 Received: from localhost.localdomain (localhost [127.0.0.1]) by imap1.linux-foundation.org (8.13.5.20060308/8.13.5/Debian-3ubuntu1.1) with ESMTP id m8MLqGSx031961; Mon, 22 Sep 2008 14:52:16 -0700 Message-Id: <200809222152.m8MLqGSx031961@imap1.linux-foundation.org> Subject: [patch 09/21] forcedeth: add pci_enable_device() to nv_resume() To: jeff@garzik.org Cc: netdev@vger.kernel.org, akpm@linux-foundation.org, simon@fire.lp0.eu, aabdulla@nvidia.com, jgarzik@redhat.com, ranma+kernel@tdiedrich.de From: akpm@linux-foundation.org Date: Mon, 22 Sep 2008 14:52:15 -0700 X-Spam-Status: No, hits=-3.359 required=5 tests=AWL, BAYES_00, OSDL_HEADER_SUBJECT_BRACKETED X-Spam-Checker-Version: SpamAssassin 3.2.4-osdl_revision__1.47__ X-MIMEDefang-Filter: lf$Revision: 1.188 $ X-Scanned-By: MIMEDefang 2.63 on 140.211.169.13 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Simon Arlott My NIC stops working after resuming from standby, it's not receiving any interrupts. Commit 25d90810ff49d2a63475776f24c74c6bb49b045f ([netdrvr] forcedeth: reorder suspend/resume code) introduces pci_disable_device to nv_suspend, but there's no corresponding pci_enable_device in nv_resume - so I added one (copied from e1000). This results in interrupts being re-enabled after suspend. However, the NIC (10de:0373) still doesn't work after resume. Cc: Tobias Diedrich Cc: Jeff Garzik Cc: Ayaz Abdulla Signed-off-by: Andrew Morton --- drivers/net/forcedeth.c | 7 +++++++ 1 file changed, 7 insertions(+) diff -puN drivers/net/forcedeth.c~forcedeth-add-pci_enable_device-to-nv_resume drivers/net/forcedeth.c --- a/drivers/net/forcedeth.c~forcedeth-add-pci_enable_device-to-nv_resume +++ a/drivers/net/forcedeth.c @@ -5968,6 +5968,13 @@ static int nv_resume(struct pci_dev *pde pci_set_power_state(pdev, PCI_D0); pci_restore_state(pdev); + rc = pci_enable_device(pdev); + if (rc) { + printk(KERN_ERR "forcedeth: Cannot enable PCI device from suspend\n"); + return rc; + } + pci_set_master(pdev); + /* ack any pending wake events, disable PME */ pci_enable_wake(pdev, PCI_D0, 0);