diff options
| author | Nikhil Gautam <nikhilgtr@gmail.com> | 2026-07-22 21:52:46 +0530 |
|---|---|---|
| committer | Jonathan Cameron <jonathan.cameron@oss.qualcomm.com> | 2026-08-07 23:51:05 +0100 |
| commit | 5d89e7cbac40057f5241a0832a86ce0fe97e4818 (patch) | |
| tree | ad0b62944d159317effeef4035dbaa539a15e491 | |
| parent | 579c049b4cb6fc72ce2c505fc5334540be0efcd3 (diff) | |
| download | linux-stable-5d89e7cbac40057f5241a0832a86ce0fe97e4818.tar.gz linux-stable-5d89e7cbac40057f5241a0832a86ce0fe97e4818.zip | |
iio: light: gp2ap002: re-enable irq if runtime suspend fails
gp2ap002_runtime_suspend() disables the irq before writing OPMOD. If
the write fails, the callback returns an error with the irq still
disabled while the PM core marks the device active again.
re-enable the irq before returning the error so the irq state matches
the active state the PM core restores.
Fixes: 97d642e23037c ("iio: light: Add a driver for Sharp GP2AP002x00F")
Signed-off-by: Nikhil Gautam <nikhilgtr@gmail.com>
Signed-off-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
| -rw-r--r-- | drivers/iio/light/gp2ap002.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/iio/light/gp2ap002.c b/drivers/iio/light/gp2ap002.c index 708a77006529..de29081fd3b2 100644 --- a/drivers/iio/light/gp2ap002.c +++ b/drivers/iio/light/gp2ap002.c @@ -649,6 +649,7 @@ static int gp2ap002_runtime_suspend(struct device *dev) /* Disable chip and IRQ, everything off */ ret = regmap_write(gp2ap002->map, GP2AP002_OPMOD, 0x00); if (ret) { + enable_irq(gp2ap002->irq); dev_err(gp2ap002->dev, "error setting up operation mode\n"); return ret; } |
