Skip to contentSkip to conversation

Patch "mmc: sdhci-acpi: Ensure connected devices are powered when probing" has been added to the 4.6-stable tree

PATCH [email protected] 1 participant 1 message May 29, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

mmc: sdhci-acpi: Ensure connected devices are powered when probing

to the 4.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
mmc-sdhci-acpi-ensure-connected-devices-are-powered-when-probing.patch
and it can be found in the queue-4.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From e5bbf30733f930a1d17b4ccf19eac88e30a39cc7 Mon Sep 17 00:00:00 2001

From: Adrian Hunter <[email protected]>
Date: Thu, 19 May 2016 15:25:42 +0200
Subject: mmc: sdhci-acpi: Ensure connected devices are powered when probing

From: Adrian Hunter <[email protected]>

commit e5bbf30733f930a1d17b4ccf19eac88e30a39cc7 upstream.

Some devices connected to the SDHCI controller may have separate enabling lines that are controlled through GPIO. These devices need to be powered on and enabled before probing. This is to ensure all devices connected can be seen by the controller.

Note, for "stable" this patch depends on the following change:
commit 78a898d0e395 ("ACPI / PM: Export acpi_device_fix_up_power()")

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=112571

---
 drivers/mmc/host/sdhci-acpi.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
drivers/mmc/host/sdhci-acpi.c +6 -1
@@ -381,7 +381,7 @@ static int sdhci_acpi_probe(struct platf
 {
 	struct device *dev = &pdev->dev;
 	acpi_handle handle = ACPI_HANDLE(dev);
-	struct acpi_device *device;
+	struct acpi_device *device, *child;
 	struct sdhci_acpi_host *c;
 	struct sdhci_host *host;
 	struct resource *iomem;
@@ -393,6 +393,11 @@ static int sdhci_acpi_probe(struct platf
 	if (acpi_bus_get_device(handle, &device))
 		return -ENODEV;
 
+	/* Power on the SDHCI controller and its children */
+	acpi_device_fix_up_power(device);
+	list_for_each_entry(child, &device->children, node)
+		acpi_device_fix_up_power(child);
+
 	if (acpi_bus_get_status(device) || !device->status.present)
 		return -ENODEV;
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.6/mmc-sdhci-acpi-ensure-connected-devices-are-powered-when-probing.patch queue-4.6/mmc-mmc-fix-partition-switch-timeout-for-some-emmcs.patch queue-4.6/mmc-longer-timeout-for-long-read-time-quirk.patch queue-4.6/mmc-sdhci-acpi-remove-mmc_cap_bus_width_test-for-intel-controllers.patch queue-4.6/mmc-sdhci-pci-remove-mmc_cap_bus_width_test-for-intel-controllers.patch