diff options
author | Dmitry Torokhov <[email protected]> | 2017-03-23 13:21:38 -0700 |
---|---|---|
committer | Linus Walleij <[email protected]> | 2017-03-30 11:08:46 +0200 |
commit | 693bdaa164b40b7aa6018b98af6f7e40dbd52457 (patch) | |
tree | 254b50b29b099b99850cb6069ac6ef0c5acb3214 | |
parent | 8a146fbe1f1461aebc9b8f06a0f22e1a8a4f0dd1 (diff) |
ACPI / gpio: do not fall back to parsing _CRS when we get a deferral
If, while locating GPIOs by name, we get probe deferral, we should
immediately report it to caller rather than trying to fall back to parsing
unnamed GPIOs from _CRS block.
Cc: [email protected]
Signed-off-by: Dmitry Torokhov <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Acked-and-Tested-by: Hans de Goede <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
-rw-r--r-- | drivers/gpio/gpiolib-acpi.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c index 8e318f449d23..2bd683e2be02 100644 --- a/drivers/gpio/gpiolib-acpi.c +++ b/drivers/gpio/gpiolib-acpi.c @@ -577,8 +577,10 @@ struct gpio_desc *acpi_find_gpio(struct device *dev, } desc = acpi_get_gpiod_by_index(adev, propname, idx, &info); - if (!IS_ERR(desc) || (PTR_ERR(desc) == -EPROBE_DEFER)) + if (!IS_ERR(desc)) break; + if (PTR_ERR(desc) == -EPROBE_DEFER) + return ERR_CAST(desc); } /* Then from plain _CRS GPIOs */ |