From c4e383085144ba387ab8682d0e0bd9c17b9db81a Mon Sep 17 00:00:00 2001 From: Marek Szyprowski Date: Mon, 20 Sep 2010 15:03:42 +0200 Subject: [PATCH] --- yaml --- r: 211031 b: refs/heads/master c: 06fe577f841f383b2d4f743cfb74fac7f6468353 h: refs/heads/master i: 211029: ede55d5afa1a562fb3f15fe7049c786bcb58d813 211027: f4857428201ec7ed00b34885ac5a2203ec794fd9 211023: 66acf46ec487df2e42f95eddbae3be92738578d1 v: v3 --- [refs] | 2 +- trunk/drivers/mmc/host/sdhci-s3c.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 750879fe7eb9..799e6bf823fe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 245feaa61dbdabffafd47b973595e06abb1288f4 +refs/heads/master: 06fe577f841f383b2d4f743cfb74fac7f6468353 diff --git a/trunk/drivers/mmc/host/sdhci-s3c.c b/trunk/drivers/mmc/host/sdhci-s3c.c index 71ad4163b95e..735d431f09e6 100644 --- a/trunk/drivers/mmc/host/sdhci-s3c.c +++ b/trunk/drivers/mmc/host/sdhci-s3c.c @@ -241,8 +241,10 @@ static struct sdhci_ops sdhci_s3c_ops = { static void sdhci_s3c_notify_change(struct platform_device *dev, int state) { struct sdhci_host *host = platform_get_drvdata(dev); + unsigned long flags; + if (host) { - spin_lock(&host->lock); + spin_lock_irqsave(&host->lock, flags); if (state) { dev_dbg(&dev->dev, "card inserted.\n"); host->flags &= ~SDHCI_DEVICE_DEAD; @@ -253,7 +255,7 @@ static void sdhci_s3c_notify_change(struct platform_device *dev, int state) host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION; } tasklet_schedule(&host->card_tasklet); - spin_unlock(&host->lock); + spin_unlock_irqrestore(&host->lock, flags); } }