public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drivers/{mmc,misc}: handle PCI errors on resume
@ 2006-10-11 21:48 Jeff Garzik
  2006-10-13  8:00 ` Russell King
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Garzik @ 2006-10-11 21:48 UTC (permalink / raw)
  To: oakad, Andrew Morton, LKML


Since pci_enable_device() is one of the first things called in the
resume step, take the minimalist approach and return immediately, if
pci_enable_device() fails during resume.

Also, in sdhci:  don't check for impossible condition (chip==NULL)

Signed-off-by: Jeff Garzik <jeff@garzik.org>

---

 drivers/misc/tifm_7xx1.c      |    7 ++++++-
 drivers/mmc/sdhci.c           |   11 +++++------

diff --git a/drivers/misc/tifm_7xx1.c b/drivers/misc/tifm_7xx1.c
index 1ba8754..03988b9 100644
--- a/drivers/misc/tifm_7xx1.c
+++ b/drivers/misc/tifm_7xx1.c
@@ -273,9 +273,14 @@ static int tifm_7xx1_resume(struct pci_d
 {
 	struct tifm_adapter *fm = pci_get_drvdata(dev);
 	unsigned long flags;
+	int rc;
 
 	pci_restore_state(dev);
-        pci_enable_device(dev);
+
+	rc = pci_enable_device(dev);
+	if (rc)
+		return rc;
+
         pci_set_power_state(dev, PCI_D0);
         pci_set_master(dev);
 
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 9a7d39b..b27fff9 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -1090,18 +1090,17 @@ static int sdhci_suspend (struct pci_dev
 
 static int sdhci_resume (struct pci_dev *pdev)
 {
-	struct sdhci_chip *chip;
+	struct sdhci_chip *chip = pci_get_drvdata(pdev);
 	int i, ret;
 
-	chip = pci_get_drvdata(pdev);
-	if (!chip)
-		return 0;
-
 	DBG("Resuming...\n");
 
 	pci_set_power_state(pdev, PCI_D0);
 	pci_restore_state(pdev);
-	pci_enable_device(pdev);
+
+	ret = pci_enable_device(pdev);
+	if (ret)
+		return ret;
 
 	for (i = 0;i < chip->num_slots;i++) {
 		if (!chip->hosts[i])

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drivers/{mmc,misc}: handle PCI errors on resume
  2006-10-11 21:48 [PATCH] drivers/{mmc,misc}: handle PCI errors on resume Jeff Garzik
@ 2006-10-13  8:00 ` Russell King
  2006-10-21 10:24   ` Pierre Ossman
  0 siblings, 1 reply; 3+ messages in thread
From: Russell King @ 2006-10-13  8:00 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: oakad, Andrew Morton, LKML

On Wed, Oct 11, 2006 at 05:48:09PM -0400, Jeff Garzik wrote:
> Since pci_enable_device() is one of the first things called in the
> resume step, take the minimalist approach and return immediately, if
> pci_enable_device() fails during resume.

NAK, for the same reason as for drivers/serial.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drivers/{mmc,misc}: handle PCI errors on resume
  2006-10-13  8:00 ` Russell King
@ 2006-10-21 10:24   ` Pierre Ossman
  0 siblings, 0 replies; 3+ messages in thread
From: Pierre Ossman @ 2006-10-21 10:24 UTC (permalink / raw)
  To: Jeff Garzik, oakad, Andrew Morton, LKML

Russell King wrote:
> On Wed, Oct 11, 2006 at 05:48:09PM -0400, Jeff Garzik wrote:
>> Since pci_enable_device() is one of the first things called in the
>> resume step, take the minimalist approach and return immediately, if
>> pci_enable_device() fails during resume.
> 
> NAK, for the same reason as for drivers/serial.
> 

So what would be the prudent course of action in this case?

Rgds
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-10-21 10:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-11 21:48 [PATCH] drivers/{mmc,misc}: handle PCI errors on resume Jeff Garzik
2006-10-13  8:00 ` Russell King
2006-10-21 10:24   ` Pierre Ossman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox