diff options
author | Andrey Zhizhikin <andrey.z@gmail.com> | 2020-08-11 11:43:33 +0000 |
---|---|---|
committer | Andrey Zhizhikin <andrey.z@gmail.com> | 2020-08-11 12:38:27 +0000 |
commit | 7e95371996e8edee2df29cc0eb6379a97ffb802d (patch) | |
tree | 97fd262a9c0bb91c1f007d3b20508d0982b07fa8 /drivers/gpio | |
parent | 14eec8a71c3e212080803c50cd9d7982e8208ec5 (diff) | |
parent | 58a12e3368dbcadc57c6b3f5fcbecce757426f02 (diff) |
Merge tag 'v5.4.54' into 5.4-2.1.x-imx
This is the 5.4.54 stable release
Conflicts:
drivers/net/ethernet/freescale/enetc/enetc_pf.c
Commit [e8b86b4d87e3abe890ca91f12f8e43fef75bbddc] from upstream solves
the kernel panic in case if probing fails. NXP has a clean-up logic
implemented different, where the MDIO remove would be invoked in any
failure case. Keep the NXP logic in place.
drivers/usb/cdns3/ep0.c
Merge commit [103a90ad4e647dd6e4d4e149dc2edf8744c2bc4d] from upstream
to handle endian misalignments respectively.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-arizona.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-arizona.c b/drivers/gpio/gpio-arizona.c index 5640efe5e750..5bda38e0780f 100644 --- a/drivers/gpio/gpio-arizona.c +++ b/drivers/gpio/gpio-arizona.c @@ -64,6 +64,7 @@ static int arizona_gpio_get(struct gpio_chip *chip, unsigned offset) ret = pm_runtime_get_sync(chip->parent); if (ret < 0) { dev_err(chip->parent, "Failed to resume: %d\n", ret); + pm_runtime_put_autosuspend(chip->parent); return ret; } @@ -72,12 +73,15 @@ static int arizona_gpio_get(struct gpio_chip *chip, unsigned offset) if (ret < 0) { dev_err(chip->parent, "Failed to drop cache: %d\n", ret); + pm_runtime_put_autosuspend(chip->parent); return ret; } ret = regmap_read(arizona->regmap, reg, &val); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(chip->parent); return ret; + } pm_runtime_mark_last_busy(chip->parent); pm_runtime_put_autosuspend(chip->parent); @@ -106,6 +110,7 @@ static int arizona_gpio_direction_out(struct gpio_chip *chip, ret = pm_runtime_get_sync(chip->parent); if (ret < 0) { dev_err(chip->parent, "Failed to resume: %d\n", ret); + pm_runtime_put(chip->parent); return ret; } } |