summaryrefslogtreecommitdiff
path: root/drivers/hwmon/sl28cpld-hwmon.c
diff options
context:
space:
mode:
authorAdam Wujek <dev_public@wujek.eu>2022-05-20 02:34:01 +0300
committerGuenter Roeck <linux@roeck-us.net>2022-05-22 21:32:32 +0300
commitd1baf7a3a3177d46a7149858beddb88a9eca7a54 (patch)
tree9b3697b18ebef8f731b52395470340acd185f896 /drivers/hwmon/sl28cpld-hwmon.c
parent9baabde04de64137e86b39112c6259f3da512bd6 (diff)
downloadlinux-d1baf7a3a3177d46a7149858beddb88a9eca7a54.tar.xz
hwmon: (pmbus) Check PEC support before reading other registers
Make sure that the support of PEC is determined before the read of other registers. Otherwise the validation of PEC can trigger an error on the read of STATUS_BYTE or STATUS_WORD registers. The problematic scenario is the following. A device with enabled PEC support is up and running and a kernel driver is loaded. Then the driver is unloaded (or device unbound), the HW device is reconfigured externally (e.g. by i2cset) to advertise itself as not supporting PEC. Without the move of the code, at the second load of the driver (or bind) the STATUS_BYTE or STATUS_WORD register is always read with PEC enabled, which is likely to cause a read error resulting with fail of a driver load (or bind). Signed-off-by: Adam Wujek <dev_public@wujek.eu> Link: https://lore.kernel.org/r/20220519233334.438621-1-dev_public@wujek.eu Fixes: 75d2b2b06bd84 ("hwmon: (pmbus) disable PEC if not enabled") Fixes: 4e5418f787ec5 ("hwmon: (pmbus_core) Check adapter PEC support") [groeck: Added Fixes: tags, dropped continuation line] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/sl28cpld-hwmon.c')
0 files changed, 0 insertions, 0 deletions