linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Hebbar, Gururaja" <gururaja.hebbar@ti.com>
To: <linux-omap@vger.kernel.org>, <linux-mmc@vger.kernel.org>,
	<svenkatr@ti.com>
Cc: <rob.herring@calxeda.com>, <linux-kernel@vger.kernel.org>,
	<grant.likely@secretlab.ca>, <cjb@laptop.org>, <nsekhar@ti.com>,
	<sudhakar.raj@ti.com>, <gururaja.hebbar@ti.com>,
	Vaibhav Bedia <vaibhav.bedia@ti.com>
Subject: [PATCH] mmc: omap_hsmmc: Pass on the suspend failure to the PM core
Date: Tue, 4 Sep 2012 18:38:29 +0530	[thread overview]
Message-ID: <1346764109-21174-1-git-send-email-gururaja.hebbar@ti.com> (raw)

From: Vaibhav Bedia <vaibhav.bedia@ti.com>

In some cases mmc_suspend_host() is not able to claim the
host and proceed with the suspend process. The core returns
-EBUSY to the host controller driver. Unfortunately, the
host controller driver does not pass on this information
to the PM core and hence the system suspend process continues.

In these cases the MMC core gets to an unexpected state
during resume and multiple issues related to MMC crop up.
1. Host controller driver starts accessing the device registers
before the clocks are enabled which leads to a prefetch abort.
2. A file copy thread which was launched before suspend gets
stuck due to the host not being reclaimed during resume.

To avoid such problems pass on the -EBUSY status to the PM core
from the host controller driver. With this change, MMC core
suspend might still fail but it does not end up making the
system unusable. Suspend gets aborted and the user can try
suspending the system again.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
---
:100644 100644 9afdd20... c3e96a2... M	drivers/mmc/host/omap_hsmmc.c
 drivers/mmc/host/omap_hsmmc.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 9afdd20..c3e96a2 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2054,6 +2054,7 @@ static int omap_hsmmc_suspend(struct device *dev)
 			if (ret)
 				dev_dbg(dev, "Unmask interrupt failed\n");
 		}
+		ret = -EBUSY;
 		goto err;
 	}
 
-- 
1.7.1


             reply	other threads:[~2012-09-04 13:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-04 13:08 Hebbar, Gururaja [this message]
2012-09-11  5:43 ` [PATCH] mmc: omap_hsmmc: Pass on the suspend failure to the PM core S, Venkatraman
2012-09-12  7:48   ` Hebbar, Gururaja
2012-09-13  7:09   ` Hebbar, Gururaja

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1346764109-21174-1-git-send-email-gururaja.hebbar@ti.com \
    --to=gururaja.hebbar@ti.com \
    --cc=cjb@laptop.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=rob.herring@calxeda.com \
    --cc=sudhakar.raj@ti.com \
    --cc=svenkatr@ti.com \
    --cc=vaibhav.bedia@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).