OSDN Git Service

support Dell OEM chipset found in Venue 8 Pro (SDIO ID 0271:0418)
authorAdam Williamson <awilliam@redhat.com>
Wed, 10 Sep 2014 00:26:15 +0000 (17:26 -0700)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Wed, 24 Dec 2014 17:01:34 +0000 (01:01 +0800)
drivers/mmc/host/sdhci.c
drivers/net/wireless/ath/ath6kl/sdio.c

index ada1a3e..306b4ac 100644 (file)
@@ -1715,7 +1715,8 @@ static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable)
        struct sdhci_host *host = mmc_priv(mmc);
        unsigned long flags;
 
-       sdhci_runtime_pm_get(host);
+       if (enable)
+               sdhci_runtime_pm_get(host);
 
        spin_lock_irqsave(&host->lock, flags);
        if (enable)
@@ -1726,7 +1727,8 @@ static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable)
        sdhci_enable_sdio_irq_nolock(host, enable);
        spin_unlock_irqrestore(&host->lock, flags);
 
-       sdhci_runtime_pm_put(host);
+       if (!enable)
+               sdhci_runtime_pm_put(host);
 }
 
 static int sdhci_do_start_signal_voltage_switch(struct sdhci_host *host,
index eab0ab9..76eb336 100644 (file)
@@ -1401,6 +1401,7 @@ static const struct sdio_device_id ath6kl_sdio_devices[] = {
        {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6004_BASE | 0x0))},
        {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6004_BASE | 0x1))},
        {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6004_BASE | 0x2))},
+       {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6004_BASE | 0x18))},
        {},
 };