linux/drivers/misc
Michael Auchter 58d6fee50e misc: eeprom: at24: fix regulator underflow
The at24 driver attempts to read a byte from the device to validate that
it's actually present, and if not, disables the vcc regulator and
returns -ENODEV. However, between the read and the error handling path,
pm_runtime_idle() is called and invokes the driver's suspend callback,
which also disables the vcc regulator. This leads to an underflow of the
regulator enable count if the EEPROM is not present.

Move the pm_runtime_suspend() call to be after the error handling path
to resolve this.

Fixes: cd5676db05 ("misc: eeprom: at24: support pm_runtime control")
Signed-off-by: Michael Auchter <michael.auchter@ni.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2020-03-12 09:02:34 +01:00
..
altera-stapl altera-stapl: altera_get_note: prevent write beyond end of 'key' 2020-03-03 08:02:57 +01:00
c2port
cardreader Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
cb710
cxl misc: cxl: use mmgrab 2020-01-16 14:59:36 +10:00
echo
eeprom misc: eeprom: at24: fix regulator underflow 2020-03-12 09:02:34 +01:00
genwqe misc: genwqe: fix compile warnings 2020-01-14 15:06:06 +01:00
habanalabs habanalabs: patched cb equals user cb in device memset 2020-02-11 11:12:47 +02:00
ibmasm
lis3lv02d
lkdtm lkdtm/bugs: fix build error in lkdtm_UNSET_SMEP 2020-01-14 15:41:04 +01:00
mei mei: me: add jasper point DID 2020-01-24 09:33:58 +01:00
mic Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
ocxl ocxl: Add PCI hotplug dependency to Kconfig 2020-01-23 21:31:18 +11:00
sgi-gru proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
sgi-xp netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
ti-st drivers/misc: ti-st: remove redundant assignment to variables i and flags 2020-01-14 15:16:51 +01:00
vmw_vmci compat_ioctl: remove most of fs/compat_ioctl.c 2019-12-01 13:46:15 -08:00
ad525x_dpot-i2c.c
ad525x_dpot-spi.c
ad525x_dpot.c
ad525x_dpot.h
apds990x.c
apds9802als.c
atmel_tclib.c
atmel-ssc.c
bh1770glc.c
cs5535-mfgpt.c
ds1682.c
dummy-irq.c
enclosure.c scsi: enclosure: Fix stale device oops with hot replug 2020-01-10 01:38:40 -05:00
fastrpc.c drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
hmc6352.c
hpilo.c
hpilo.h misc: Use the correct style for SPDX License Identifier 2019-10-10 15:34:40 +02:00
ibmvmc.c
ibmvmc.h misc: Use the correct style for SPDX License Identifier 2019-10-10 15:34:40 +02:00
ics932s401.c
isl29003.c
isl29020.c misc: isl29020: add missed pm_runtime_disable 2020-01-14 15:06:07 +01:00
Kconfig misc: Fix Kconfig indentation 2019-11-20 15:09:49 +01:00
kgdbts.c
lattice-ecp3-config.c
Makefile
pch_phub.c
pci_endpoint_test.c PCI: Add PCI_STD_NUM_BARS for the number of standard BARs 2019-10-14 10:22:26 -05:00
phantom.c
pti.c Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
pvpanic.c misc: pvpanic: add crash loaded event 2020-01-14 15:07:37 +01:00
qcom-coincell.c
sram-exec.c drivers/misc: sram-exec: have the callers of set_memory_*() check the return value 2020-01-14 15:06:06 +01:00
sram.c misc: sram: use devm_platform_ioremap_resource_wc() 2019-11-05 18:32:47 +01:00
sram.h
tifm_7xx1.c
tifm_core.c
tsl2550.c misc: tsl2550: remove redundant initialization to variable r 2020-01-14 15:16:51 +01:00
vexpress-syscfg.c
vmw_balloon.c vmw_balloon: Explicitly include linux/io.h for virt_to_phys() 2019-12-10 10:15:48 +01:00
xilinx_sdfec.c misc: xilinx_sdfec: fix xsdfec_poll()'s return type 2020-01-14 15:16:51 +01:00