[PATCH 75/88] e1000e: fix pci-device enable-counter balance

Luis Henriques luis.henriques at canonical.com
Thu Mar 14 10:36:08 UTC 2013 -stable review patch.  If anyone has any objections, please let me know.


From: Konstantin Khlebnikov <khlebnikov at openvz.org>

commit 4e0855dff094b0d56d6b5b271e0ce7851cc1e063 upstream.

This patch removes redundant and unbalanced pci_disable_device() from
__e1000_shutdown(). pci_clear_master() is enough, device can go into
suspended state with elevated enable_cnt.

Bug was introduced in commit 23606cf5d1192c2b17912cb2ef6e62f9b11de133
("e1000e / PCI / PM: Add basic runtime PM support (rev. 4)") in v2.6.35

Cc: Bruce Allan <bruce.w.allan at intel.com>
Signed-off-by: Konstantin Khlebnikov <khlebnikov at openvz.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Tested-by: Borislav Petkov <bp at suse.de>
Tested-by: Aaron Brown <aaron.f.brown at intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
 drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 2c78ef0..2ea52ce 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -5560,7 +5560,7 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool *enable_wake,
-	pci_disable_device(pdev);
+	pci_clear_master(pdev);
 	return 0;

More information about the kernel-team mailing list