All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lauri Hintsala <lauri.hintsala@bluegiga.com>
To: Shawn Guo <shawn.guo@linaro.org>
Cc: Attila Kinali <attila@kinali.ch>, Marek Vasut <marex@denx.de>,
	Koen Beel <koen.beel@barco.com>,
	linux-mmc@vger.kernel.org, Wolfram Sang <w.sang@pengutronix.de>,
	Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: mmc: mxs: DEADLOCK
Date: Tue, 17 Jul 2012 07:54:39 +0300	[thread overview]
Message-ID: <5004F00F.5000800@bluegiga.com> (raw)
In-Reply-To: <5003AD52.7070304@bluegiga.com>

Shawn,

Could you review this patch? Attila reported it fixes his SDIO 
initialization issue.

Lauri


On 07/16/2012 08:57 AM, Lauri Hintsala wrote:
>> Any hints how to work around or fix this, would be appreciated
>
>
> Does this patch fix your issue?
>
>  >>>>>>>
> --- a/drivers/mmc/host/mxs-mmc.c
> +++ b/drivers/mmc/host/mxs-mmc.c
> @@ -637,11 +637,6 @@ static void mxs_mmc_enable_sdio_irq(struct mmc_host
> *mmc, int enable)
>                  host->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
>           writel(BM_SSP_CTRL1_SDIO_IRQ_EN,
>                  host->base + HW_SSP_CTRL1(host) + STMP_OFFSET_REG_SET);
> -
> -        if (readl(host->base + HW_SSP_STATUS(host)) &
> -                BM_SSP_STATUS_SDIO_IRQ)
> -            mmc_signal_sdio_irq(host->mmc);
> -
>       } else {
>           writel(BM_SSP_CTRL0_SDIO_IRQ_CHECK,
>                  host->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_CLR);
> @@ -650,6 +645,11 @@ static void mxs_mmc_enable_sdio_irq(struct mmc_host
> *mmc, int enable)
>       }
>
>       spin_unlock_irqrestore(&host->lock, flags);
> +
> +    if (enable && readl(host->base + HW_SSP_STATUS(host)) &
> +            BM_SSP_STATUS_SDIO_IRQ)
> +        mmc_signal_sdio_irq(host->mmc);
> +
>   }
>
>   static const struct mmc_host_ops mxs_mmc_ops = {
> <<<<<<<
>
> mxs_mmc_enable_sdio_irq was called by mmc_signal_sdio_irq.
> mmc_signal_sdio_irq was called inside spin lock. So the lock was tried
> to acquire before it was released.
>
>
> Best regards,
> Lauri Hintsala
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


WARNING: multiple messages have this Message-ID (diff)
From: lauri.hintsala@bluegiga.com (Lauri Hintsala)
To: linux-arm-kernel@lists.infradead.org
Subject: mmc: mxs: DEADLOCK
Date: Tue, 17 Jul 2012 07:54:39 +0300	[thread overview]
Message-ID: <5004F00F.5000800@bluegiga.com> (raw)
In-Reply-To: <5003AD52.7070304@bluegiga.com>

Shawn,

Could you review this patch? Attila reported it fixes his SDIO 
initialization issue.

Lauri


On 07/16/2012 08:57 AM, Lauri Hintsala wrote:
>> Any hints how to work around or fix this, would be appreciated
>
>
> Does this patch fix your issue?
>
>  >>>>>>>
> --- a/drivers/mmc/host/mxs-mmc.c
> +++ b/drivers/mmc/host/mxs-mmc.c
> @@ -637,11 +637,6 @@ static void mxs_mmc_enable_sdio_irq(struct mmc_host
> *mmc, int enable)
>                  host->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET);
>           writel(BM_SSP_CTRL1_SDIO_IRQ_EN,
>                  host->base + HW_SSP_CTRL1(host) + STMP_OFFSET_REG_SET);
> -
> -        if (readl(host->base + HW_SSP_STATUS(host)) &
> -                BM_SSP_STATUS_SDIO_IRQ)
> -            mmc_signal_sdio_irq(host->mmc);
> -
>       } else {
>           writel(BM_SSP_CTRL0_SDIO_IRQ_CHECK,
>                  host->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_CLR);
> @@ -650,6 +645,11 @@ static void mxs_mmc_enable_sdio_irq(struct mmc_host
> *mmc, int enable)
>       }
>
>       spin_unlock_irqrestore(&host->lock, flags);
> +
> +    if (enable && readl(host->base + HW_SSP_STATUS(host)) &
> +            BM_SSP_STATUS_SDIO_IRQ)
> +        mmc_signal_sdio_irq(host->mmc);
> +
>   }
>
>   static const struct mmc_host_ops mxs_mmc_ops = {
> <<<<<<<
>
> mxs_mmc_enable_sdio_irq was called by mmc_signal_sdio_irq.
> mmc_signal_sdio_irq was called inside spin lock. So the lock was tried
> to acquire before it was released.
>
>
> Best regards,
> Lauri Hintsala
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2012-07-17  4:54 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-10 14:04 mmc: mxs: DEADLOCK Lauri Hintsala
2012-07-10 14:04 ` Lauri Hintsala
2012-07-10 15:02 ` Marek Vasut
2012-07-10 15:02   ` Marek Vasut
2012-07-11  6:10   ` Shawn Guo
2012-07-11  6:10     ` Shawn Guo
2012-07-11  6:06 ` Shawn Guo
2012-07-11  6:06   ` Shawn Guo
2012-07-11  6:08   ` Lauri Hintsala
2012-07-11  6:08     ` Lauri Hintsala
2012-07-12 14:00   ` Attila Kinali
2012-07-12 14:00     ` Attila Kinali
2012-07-12 14:39     ` Shawn Guo
2012-07-12 14:39       ` Shawn Guo
2012-07-12 15:13       ` Attila Kinali
2012-07-12 15:13         ` Attila Kinali
2012-07-16  5:57     ` Lauri Hintsala
2012-07-16  5:57       ` Lauri Hintsala
2012-07-16 12:07       ` Attila Kinali
2012-07-16 12:07         ` Attila Kinali
2012-07-17  4:54       ` Lauri Hintsala [this message]
2012-07-17  4:54         ` Lauri Hintsala
2012-07-17 12:40         ` Shawn Guo
2012-07-17 12:40           ` Shawn Guo
2012-07-17 13:03           ` Lauri Hintsala
2012-07-17 13:03             ` Lauri Hintsala

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=5004F00F.5000800@bluegiga.com \
    --to=lauri.hintsala@bluegiga.com \
    --cc=attila@kinali.ch \
    --cc=koen.beel@barco.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=shawn.guo@linaro.org \
    --cc=veli-pekka.peltola@bluegiga.com \
    --cc=w.sang@pengutronix.de \
    /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.