From: Balaji T K <balajitk@ti.com>
To: Andreas Fenkart <afenkart@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>, Chris Ball <chris@printf.net>,
Grant Likely <grant.likely@secretlab.ca>,
Felipe Balbi <balbi@ti.com>,
zonque@gmail.com, galak@codeaurora.org,
linux-doc@vger.kernel.org, linux-mmc@vger.kernel.org,
linux-omap@vger.kernel.org
Subject: Re: [PATCH v10 2/5] mmc: omap_hsmmc: bug: abort runtime suspend if pending sdio irq detected
Date: Fri, 2 May 2014 20:25:40 +0530 [thread overview]
Message-ID: <5363B1EC.9040206@ti.com> (raw)
In-Reply-To: <1398670860-30695-3-git-send-email-afenkart@gmail.com>
On Monday 28 April 2014 01:10 PM, Andreas Fenkart wrote:
> on multicores, an sdio irq handler could be running in parallel to
> runtime suspend. In the worst case it could be waiting for the spinlock
> held by the runtime suspend. When runtime suspend is complete and the
> functional clock (fclk) turned off, the irq handler will continue and
> cause a SIGBUS on the first register access.
>
> Signed-off-by: Andreas Fenkart <afenkart@gmail.com>
>
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 700fb91..e675042 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -56,6 +56,7 @@
> #define OMAP_HSMMC_RSP54 0x0118
> #define OMAP_HSMMC_RSP76 0x011C
> #define OMAP_HSMMC_DATA 0x0120
> +#define OMAP_HSMMC_PSTATE 0x0124
> #define OMAP_HSMMC_HCTL 0x0128
> #define OMAP_HSMMC_SYSCTL 0x012C
> #define OMAP_HSMMC_STAT 0x0130
> @@ -2400,6 +2401,7 @@ static int omap_hsmmc_runtime_suspend(struct device *dev)
> {
> struct omap_hsmmc_host *host;
> unsigned long flags;
> + int ret = 0;
>
> host = platform_get_drvdata(to_platform_device(dev));
> omap_hsmmc_context_save(host);
> @@ -2411,14 +2413,29 @@ static int omap_hsmmc_runtime_suspend(struct device *dev)
> /* disable sdio irq handling to prevent race */
> OMAP_HSMMC_WRITE(host->base, ISE, 0);
> OMAP_HSMMC_WRITE(host->base, IE, 0);
> - OMAP_HSMMC_WRITE(host->base, STAT, STAT_CLEAR);
> +
> + if (!(OMAP_HSMMC_READ(host->base, PSTATE) & BIT(21))) {
Please use #define for BIT(21), something like DLEV_DAT1
next prev parent reply other threads:[~2014-05-02 14:55 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-28 7:40 [PATCH v10 0/5] mmc: omap_hsmmc: Enable SDIO IRQ Andreas Fenkart
2014-04-28 7:40 ` [PATCH v10 1/5] mmc: omap_hsmmc: Enable SDIO interrupt Andreas Fenkart
2014-04-29 4:42 ` Joel Fernandes
2014-04-29 4:43 ` Joel Fernandes
2014-04-29 9:32 ` Andreas Müller
2014-04-30 12:23 ` Andreas Müller
2014-04-30 21:04 ` Andreas Fenkart
2014-05-02 15:20 ` Balaji T K
2014-04-28 7:40 ` [PATCH v10 2/5] mmc: omap_hsmmc: bug: abort runtime suspend if pending sdio irq detected Andreas Fenkart
2014-05-02 14:55 ` Balaji T K [this message]
2014-04-28 7:40 ` [PATCH v10 3/5] mmc: omap_hsmmc: Extend debugfs by SDIO IRQ handling, runtime state Andreas Fenkart
2014-04-28 7:40 ` [PATCH v10 4/5] mmc: omap_hsmmc: switch default/idle pinctrl states in runtime hooks Andreas Fenkart
2014-05-02 14:38 ` Balaji T K
2014-04-28 7:41 ` [PATCH v10 5/5] mmc: omap_hsmmc: Pin remux workaround to support SDIO interrupt on AM335x Andreas Fenkart
2014-05-02 14:30 ` Balaji T K
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=5363B1EC.9040206@ti.com \
--to=balajitk@ti.com \
--cc=afenkart@gmail.com \
--cc=balbi@ti.com \
--cc=chris@printf.net \
--cc=galak@codeaurora.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-doc@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.com \
--cc=zonque@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.