[PULL][Xenial] Update for third party Redpine Wifi-BT and Exar USB UART drivers

Stefan Bader stefan.bader at canonical.com
Fri Apr 21 10:43:19 UTC 2017

On 21.04.2017 11:12, Shrirang Bagul wrote:
> git://kernel.ubuntu.com/snb/ubuntu-xenial.git caracalla-kt-for-arev

I really don't understand what the changes to drivers/mmc/host/sdhci.c should

@@ -1745,9 +1746,18 @@ static void sdhci_enable_sdio_irq_nolock(struct
sdhci_host *host, int enable)
 static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable)
        struct sdhci_host *host = mmc_priv(mmc);
+       struct pci_dev *pci_host;
        unsigned long flags;

-       sdhci_runtime_pm_get(host);
+       pci_host = pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID,
+                       0x1028, 0x07b9, NULL);
+       if (!pci_host)
+               sdhci_runtime_pm_get(host);
+       else {
+               if (enable)
+                       sdhci_runtime_pm_get(host);
+       }

        spin_lock_irqsave(&host->lock, flags);
        if (enable)

So pci_host set to a value means this is the gw and NULL for anything else. At
least for everything else the behaviour is not changed. Only for the IOT device
the reference (assuming that is what pm_get/put do) is kept between enabling the
IRQ until disabling it (while otherwise it is kept only while modifying the state).
On the positive side it should not cause regressions for everything else but
while not seeing any additional protection for that case, then why change it at all?


@@ -1758,7 +1768,12 @@ 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 (!pci_host)
+               sdhci_runtime_pm_put(host);
+       else {
+               if (!enable)
+                       sdhci_runtime_pm_put(host);
+       }

 static int sdhci_do_start_signal_voltage_switch(struct sdhci_host *host,

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20170421/d5cd6f86/attachment.sig>

More information about the kernel-team mailing list