Re: [PATCH 2/2] mmc: sdhci-acpi: Ensure connected devices are powered when probing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20 May 2016 at 09:04, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
> On 19/05/16 16:25, Ulf Hansson wrote:
>> From: Adrian Hunter <adrian.hunter@xxxxxxxxx>
>>
>> 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.
>>
>
> I have noticed that stable can get dependent patches the wrong way around
> (breaking bisectability) when they are not explicitly defined as dependent.
> For that reason, I was going to put the EXPORT of acpi_device_fix_up_power()
> into this patch.
>
> I think we need at least to mention in this patch that it is dependent on
> the other patch.

I do that..

>
> Also I have more information here:
>
> Reported-by: Laszlo Fiat <laszlo.fiat@xxxxxxxxx>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=112571
> Link: http://lkml.kernel.org/r/CA+7w51inLtQSr656bJvOjGG9oQWKYPXH+xxDPJKbeJ=CcrkS9Q@xxxxxxxxxxxxxx
>

...and add this.

>
>> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
>> Tested-by: Laszlo Fiat <laszlo.fiat@xxxxxxxxx>
>> Cc: <stable@xxxxxxxxxxxxxxx> # 4.5+
>> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

Applied for fixes!

Thanks and kind regards
Uffe

>> ---
>>  drivers/mmc/host/sdhci-acpi.c | 7 ++++++-
>>  1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c
>> index b2d70ba..2d1c4870 100644
>> --- a/drivers/mmc/host/sdhci-acpi.c
>> +++ b/drivers/mmc/host/sdhci-acpi.c
>> @@ -378,7 +378,7 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
>>  {
>>       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;
>> @@ -390,6 +390,11 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
>>       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;
>>
>>
>
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]