projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
42d35af
)
misc: eeprom: at24: check suspend status before disable regulator
author
Hsin-Yi Wang
<hsinyi@chromium.org>
Tue, 20 Apr 2021 13:30:50 +0000
(21:30 +0800)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Wed, 26 May 2021 10:06:50 +0000
(12:06 +0200)
commit
2962484dfef8dbb7f9059822bc26ce8a04d0e47c
upstream.
cd5676db0574
("misc: eeprom: at24: support pm_runtime control") disables
regulator in runtime suspend. If runtime suspend is called before
regulator disable, it will results in regulator unbalanced disabling.
Fixes:
cd5676db0574
("misc: eeprom: at24: support pm_runtime control")
Cc: stable <stable@vger.kernel.org>
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Link:
https://lore.kernel.org/r/20210420133050.377209-1-hsinyi@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/eeprom/at24.c
patch
|
blob
|
history
diff --git
a/drivers/misc/eeprom/at24.c
b/drivers/misc/eeprom/at24.c
index
926408b
..
7a6f01a
100644
(file)
--- a/
drivers/misc/eeprom/at24.c
+++ b/
drivers/misc/eeprom/at24.c
@@
-763,7
+763,8
@@
static int at24_probe(struct i2c_client *client)
at24->nvmem = devm_nvmem_register(dev, &nvmem_config);
if (IS_ERR(at24->nvmem)) {
pm_runtime_disable(dev);
- regulator_disable(at24->vcc_reg);
+ if (!pm_runtime_status_suspended(dev))
+ regulator_disable(at24->vcc_reg);
return PTR_ERR(at24->nvmem);
}
@@
-774,7
+775,8
@@
static int at24_probe(struct i2c_client *client)
err = at24_read(at24, 0, &test_byte, 1);
if (err) {
pm_runtime_disable(dev);
- regulator_disable(at24->vcc_reg);
+ if (!pm_runtime_status_suspended(dev))
+ regulator_disable(at24->vcc_reg);
return -ENODEV;
}