Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 2812

kernel-2.6.18-194.11.1.el5.src.rpm

From: Prarit Bhargava <prarit@redhat.com>
Date: Tue, 6 Oct 2009 12:14:52 -0400
Subject: [pci] pci_dev->is_enabled must be set
Message-id: 20091006161321.32715.98237.sendpatchset@prarit.bos.redhat.com
O-Subject: [RHEL5 PATCH] pci_dev->is_enabled must be set
Bugzilla: 527496
RH-Acked-by: Andy Gospodarek <gospo@redhat.com>
RH-Acked-by: John Feeney <jfeeney@redhat.com>
RH-Acked-by: Pete Zaitcev <zaitcev@redhat.com>

My patch for 442007 removed the setting of dev->is_enabled.

This could cause some suspend/resumes to fail.  A problem has not been seen,
but the code should be fixed for correctness.

One-line patch resolves the issue.

Successfully compiled by me.

Resolves BZ 527496.

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 042dcfa..3ccf357 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -710,6 +710,8 @@ static int __pci_enable_device_flags(struct pci_dev *dev,
 	if (dev->is_enabled)
 		return 0;		/* already enabled */
 
+	dev->is_enabled = 1;
+
 	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++)
 		if (dev->resource[i].flags & flags)
 			bars |= (1 << i);