提交 65097561 编写于 作者: L Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
  mmc: sdhci-s3c: fix NULL ptr access in sdhci_s3c_remove
  mmc: sdhci-s3c: fix incorrect spinlock usage after merge
  mmc: MAINTAINERS: add myself as MMC maintainer
...@@ -3925,8 +3925,10 @@ S: Supported ...@@ -3925,8 +3925,10 @@ S: Supported
F: drivers/mfd/ F: drivers/mfd/
MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
S: Orphan M: Chris Ball <cjb@laptop.org>
L: linux-mmc@vger.kernel.org L: linux-mmc@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
S: Maintained
F: drivers/mmc/ F: drivers/mmc/
F: include/linux/mmc/ F: include/linux/mmc/
...@@ -5097,8 +5099,10 @@ S: Maintained ...@@ -5097,8 +5099,10 @@ S: Maintained
F: drivers/mmc/host/sdricoh_cs.c F: drivers/mmc/host/sdricoh_cs.c
SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
S: Orphan M: Chris Ball <cjb@laptop.org>
L: linux-mmc@vger.kernel.org L: linux-mmc@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
S: Maintained
F: drivers/mmc/host/sdhci.* F: drivers/mmc/host/sdhci.*
SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF) SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF)
......
...@@ -241,8 +241,10 @@ static struct sdhci_ops sdhci_s3c_ops = { ...@@ -241,8 +241,10 @@ static struct sdhci_ops sdhci_s3c_ops = {
static void sdhci_s3c_notify_change(struct platform_device *dev, int state) static void sdhci_s3c_notify_change(struct platform_device *dev, int state)
{ {
struct sdhci_host *host = platform_get_drvdata(dev); struct sdhci_host *host = platform_get_drvdata(dev);
unsigned long flags;
if (host) { if (host) {
spin_lock(&host->lock); spin_lock_irqsave(&host->lock, flags);
if (state) { if (state) {
dev_dbg(&dev->dev, "card inserted.\n"); dev_dbg(&dev->dev, "card inserted.\n");
host->flags &= ~SDHCI_DEVICE_DEAD; host->flags &= ~SDHCI_DEVICE_DEAD;
...@@ -253,7 +255,7 @@ static void sdhci_s3c_notify_change(struct platform_device *dev, int state) ...@@ -253,7 +255,7 @@ static void sdhci_s3c_notify_change(struct platform_device *dev, int state)
host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION; host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
} }
tasklet_schedule(&host->card_tasklet); tasklet_schedule(&host->card_tasklet);
spin_unlock(&host->lock); spin_unlock_irqrestore(&host->lock, flags);
} }
} }
...@@ -481,8 +483,10 @@ static int __devexit sdhci_s3c_remove(struct platform_device *pdev) ...@@ -481,8 +483,10 @@ static int __devexit sdhci_s3c_remove(struct platform_device *pdev)
sdhci_remove_host(host, 1); sdhci_remove_host(host, 1);
for (ptr = 0; ptr < 3; ptr++) { for (ptr = 0; ptr < 3; ptr++) {
clk_disable(sc->clk_bus[ptr]); if (sc->clk_bus[ptr]) {
clk_put(sc->clk_bus[ptr]); clk_disable(sc->clk_bus[ptr]);
clk_put(sc->clk_bus[ptr]);
}
} }
clk_disable(sc->clk_io); clk_disable(sc->clk_io);
clk_put(sc->clk_io); clk_put(sc->clk_io);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册