diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2020-11-11 21:01:52 +0300 |
---|---|---|
committer | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2020-11-16 15:14:35 +0300 |
commit | ce698f4ec18c56ca1f5f725fcf6f7e2c04d90be1 (patch) | |
tree | 8eae37ee5593bd26b4765b60268af5a34d51af06 /drivers/gpio/gpiolib-acpi.c | |
parent | 8dcb7a15a585b6d0fee15751ce11d7a68cfedd56 (diff) | |
download | linux-ce698f4ec18c56ca1f5f725fcf6f7e2c04d90be1.tar.xz |
gpiolib: acpi: Move non-critical code outside of critical section
Mika noticed that some code is run under mutex when it doesn't require
the lock, like an error code assignment.
Move non-critical code outside of critical section.
Suggested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers/gpio/gpiolib-acpi.c')
-rw-r--r-- | drivers/gpio/gpiolib-acpi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c index a9254de964cc..b00171d2aaf5 100644 --- a/drivers/gpio/gpiolib-acpi.c +++ b/drivers/gpio/gpiolib-acpi.c @@ -1063,8 +1063,8 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physical_address address, GPIO_ACTIVE_HIGH, flags); if (IS_ERR(desc)) { - status = AE_ERROR; mutex_unlock(&achip->conn_lock); + status = AE_ERROR; goto out; } @@ -1078,9 +1078,9 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physical_address address, conn = kzalloc(sizeof(*conn), GFP_KERNEL); if (!conn) { - status = AE_NO_MEMORY; gpiochip_free_own_desc(desc); mutex_unlock(&achip->conn_lock); + status = AE_NO_MEMORY; goto out; } |