linux-stable/drivers/hwmon
Edward A. James 9851961159 hwmon: (pmbus/core) Prevent unintentional setting of page to 0xFF
[ Upstream commit 6dcf2fb5e8 ]

The pmbus core may call read/write word data functions with a page value
of -1, intending to perform the operation without setting the page.
However, the read/write word data functions accept only unsigned 8-bit
page numbers, and therefore cannot check for negative page number to
avoid setting the page. This results in setting the page number to 0xFF.
This may result in errors or undefined behavior of some devices
(specifically the ir35221, which allows the page to be set to 0xFF,
but some subsequent operations to read registers may fail).

Switch the pmbus_set_page page parameter to an integer and perform the
check for negative page there. Make read/write functions consistent in
accepting an integer page number parameter.

Signed-off-by: Edward A. James <eajames@us.ibm.com>
Fixes: cbcdec6202 ("hwmon: (pmbus): Access word data for STATUS_WORD")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-10 13:40:40 +01:00
..
pmbus hwmon: (pmbus/core) Prevent unintentional setting of page to 0xFF 2017-12-10 13:40:40 +01:00
ab8500.c
abituguru.c
abituguru3.c
abx500.c hwmon: (abx500) drop the use of IRQF_NO_SUSPEND 2015-10-14 07:57:14 -07:00
abx500.h
acpi_power_meter.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
ad7314.c hwmon: (ad7314) Convert to devm_hwmon_device_register_with_groups 2016-06-27 18:58:03 -07:00
ad7414.c hwmon: (ad7414) Add OF device ID table 2017-04-02 07:01:53 -07:00
ad7418.c
adc128d818.c hwmon: (adc128d818) constify attribute_group structures. 2017-08-13 08:24:38 -07:00
adcxx.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
adm1021.c hwmon: (adm1021) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adm1025.c hwmon: (adm1025) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adm1026.c hwmon: (adm1026) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adm1029.c
adm1031.c hwmon: (adm1031) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adm9240.c hwmon: (adm9240) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
ads1015.c hwmon: (ads1015) Convert to using %pOF instead of full_name 2017-08-13 08:24:38 -07:00
ads7828.c hwmon: (ads7828) Accept optional parameters from device tree 2017-04-02 07:01:53 -07:00
ads7871.c hwmon: (ads7871) Convert to devm_hwmon_device_register_with_groups 2016-06-27 18:58:03 -07:00
adt7x10.c hwmon: (adt7x10) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adt7x10.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
adt7310.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
adt7410.c
adt7411.c hwmon: (adt7411) add min, max and alarm attributes 2017-01-02 10:19:45 -08:00
adt7462.c hwmon: (adt7462) Fix overflows seen when writing into limit attributes 2016-12-09 21:54:31 -08:00
adt7470.c hwmon: (adt7470) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adt7475.c hwmon: (adt7475) constify attribute_group structures. 2017-08-13 08:24:38 -07:00
amc6821.c hwmon: (amc6821) sign extension temperature 2016-12-02 13:28:04 -08:00
applesmc.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
asb100.c hwmon: (asb100) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
asc7621.c hwmon: (asc7621) make several arrays static const 2017-08-30 06:31:49 -07:00
aspeed-pwm-tacho.c hwmon: (aspeed-pwm-tacho) cooling device support. 2017-08-13 08:24:38 -07:00
asus_atk0110.c hwmon: (asus_atk0110) fix uninitialized data access 2017-03-23 12:01:57 -07:00
atxp1.c hwmon: (atxp1) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
coretemp.c hwmon: (coretemp) Handle frozen hotplug state correctly 2017-05-14 07:49:32 -07:00
da9052-hwmon.c hwmon: (da9052) Increase sample rate when using TSI 2017-10-21 09:03:29 -07:00
da9055-hwmon.c
dell-smm-hwmon.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
dme1737.c hwmon: (dme1737) Fix overflows seen when writing into limit attributes 2017-01-10 08:57:55 -08:00
ds620.c hwmon: (ds620) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
ds1621.c hwmon: (ds1621) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
emc6w201.c hwmon: (emcw201) Fix overflows seen when writing into limit attributes 2016-12-12 11:33:44 -08:00
emc1403.c
emc2103.c hwmon: (emc2103) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
f71805f.c hwmon: (f71805f) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
f71882fg.c hwmon: (f71882fg) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
f75375s.c
fam15h_power.c hwmon: (fam15h_power) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
fschmd.c hwmon: (fschmd) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
ftsteutates.c hwmon: (ftsteutates) constify i2c_device_id 2017-08-29 17:44:23 -07:00
g760a.c hwmon: (g760a) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
g762.c scripts/spelling.txt: add "followings" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
gl518sm.c hwmon: (gl518sm) Fix overflows seen when writing into limit attributes 2017-01-10 08:58:36 -08:00
gl520sm.c hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes 2017-01-10 08:59:35 -08:00
gpio-fan.c hwmon: (gpio-fan) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
hih6130.c
hwmon-vid.c
hwmon.c hwmon: (core) constify thermal_zone_of_device_ops structures 2017-08-13 08:24:38 -07:00
i5k_amb.c hwmon: (i5k_amb) constify pci_device_id 2017-08-13 08:24:38 -07:00
i5500_temp.c hwmon: (i5500_temp) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
ibmaem.c hwmon: (ibmaem) constify aem_rw_sensor_template and aem_ro_sensor_template structures 2016-01-04 08:56:22 -08:00
ibmpex.c
ibmpowernv.c hwmon: (ibmpowernv) Add current(A) sensor 2017-06-20 13:52:19 -07:00
iio_hwmon.c hwmon: (iio_hwmon) defer probe when no channel is found 2016-09-08 21:34:17 -07:00
ina2xx.c hwmon: (ina2xx) Add OF device ID table 2017-04-02 07:01:53 -07:00
ina209.c hwmon: (ina209) Handled signed registers 2017-04-21 12:30:09 -07:00
ina3221.c hwmon: (ina3221) Fix negative limits 2016-06-27 18:58:04 -07:00
it87.c hwmon: (it87) Reapply probe path chip registers settings after resume 2017-08-13 08:24:38 -07:00
jc42.c hwmon: (jc42) optionally try to disable the SMBUS timeout 2017-12-05 11:26:34 +01:00
jz4740-hwmon.c hwmon: (jz4740) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
k8temp.c hwmon: (k8temp) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
k10temp.c hwmon: (k10temp) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
Kconfig hwmon: (ltq-cputemp) add cpu temp sensor driver 2017-09-01 07:24:14 -07:00
lineage-pem.c
lm63.c hwmon: (lm63) Add OF device ID table 2017-04-02 07:01:53 -07:00
lm70.c hwmon: (lm70) Add support for TI TMP122/124 2017-01-21 12:26:38 -08:00
lm73.c
lm75.c hwmon: (lm75) Add OF device ID table 2017-04-02 07:01:53 -07:00
lm75.h
lm77.c
lm78.c hwmon: (lm78) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm80.c hwmon: (lm80) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm83.c hwmon: (lm83) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm85.c hwmon: (lm85) Add OF device ID table 2017-04-02 07:01:53 -07:00
lm87.c hwmon: (lm87) Add OF device ID table 2017-04-13 06:09:26 -07:00
lm90.c hwmon: (lm90) Add OF device ID table 2017-04-02 07:01:53 -07:00
lm92.c hwmon: (lm92) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm93.c hwmon: (lm93) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm95234.c hwmon: (lm95234) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm95241.c hwmon: (lm95241) Update module description to include LM95231 2016-09-13 07:28:01 -07:00
lm95245.c hwmon: (lm95245) Add OF device ID table 2017-04-02 07:01:53 -07:00
ltc2945.c
ltc2990.c hwmon: Add LTC2990 sensor driver 2016-03-05 06:25:34 -08:00
ltc4151.c hwmon: (ltc4151) Export OF device ID table as module aliases 2017-01-21 08:57:41 -08:00
ltc4215.c
ltc4222.c
ltc4245.c hwmon: (ltc4245) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
ltc4260.c
ltc4261.c
ltq-cputemp.c hwmon: (ltq-cputemp) add cpu temp sensor driver 2017-09-01 07:24:14 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
max197.c hwmon: (max197) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
max1111.c hwmon: (max1111) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
max1619.c hwmon: (max1619) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
max1668.c
max6639.c hwmon: (max6639) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
max6642.c
max6650.c hwmon: (max6650) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
max6697.c hwmon: (max6697) Add OF device ID table 2017-04-02 07:01:53 -07:00
max16065.c
max31722.c hwmon: (max31722) Add support for MAX31722/MAX31723 temperature sensors 2016-04-19 06:32:34 -07:00
max31790.c hwmon: (max31790) Set correct PWM value 2017-03-22 00:18:20 -07:00
mc13783-adc.c hwmon: (mc13783-adc) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
mcp3021.c hwmon: (mcp3021) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
menf21bmc_hwmon.c
nct6683.c hwmon: (nct6683) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
nct6775.c hwmon: (nct6775) Add support for NCT6795D 2017-06-11 17:08:19 -07:00
nct7802.c hwmon: (nct7802) constify attribute_group structures. 2017-08-13 08:24:38 -07:00
nct7904.c hwmon: (nct7904) Convert to use new hwmon registration API 2016-09-08 21:34:18 -07:00
nsa320-hwmon.c hwmon: (nsa320) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
ntc_thermistor.c hwmon: (ntc_thermistor) Use devm_hwmon_device_register_with_groups 2016-09-08 21:34:15 -07:00
pc87360.c hwmon: (pc87360) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
pc87427.c hwmon: (pc87427) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
pcf8591.c hwmon: (pcf8591) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
powr1220.c
pwm-fan.c hwmon: (pwm-fan) Switch to new atomic PWM API 2017-06-11 17:08:19 -07:00
s3c-hwmon.c
sch56xx-common.c hwmon: (sch56xx) Remove unneeded linux/miscdevice.h include 2017-01-02 10:19:45 -08:00
sch56xx-common.h
sch5627.c hwmon: (sch5627) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
sch5636.c hwmon: (sch5636) trivial fix of spelling mistake on revision 2016-04-25 07:26:29 -07:00
scpi-hwmon.c hwmon: (scpi) constify thermal_zone_of_device_ops structures 2017-08-13 08:24:38 -07:00
sht3x.c hwmon: (sht3x) set initial jiffies to last_update 2016-07-31 14:56:36 -07:00
sht15.c hwmon: (sht15) Add device tree support 2017-02-16 06:49:05 -08:00
sht21.c hwmon: (sht21) Add Electronic Identification Code retrieval 2017-01-02 10:19:45 -08:00
shtc1.c
sis5595.c hwmon: (sis5595) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
smm665.c
smsc47b397.c
smsc47m1.c hwmon: (smsc47m1) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
smsc47m192.c hwmon: (smsc47m192) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
stts751.c hwmon: (stts751) buffer overrun on wrong chip configuration 2017-08-13 08:24:08 -07:00
tc74.c
tc654.c hwmon: Add tc654 driver 2016-12-02 13:28:05 -08:00
thmc50.c
tmp102.c hwmon: (tmp102) Fix first temperature reading 2017-10-24 06:17:14 -07:00
tmp103.c hwmon: (tmp103) Use SIMPLE_DEV_PM_OPS helper macro 2017-04-24 06:30:41 -07:00
tmp108.c hwmon: Add Texas Instruments TMP108 temperature sensor driver. 2016-12-09 21:54:25 -08:00
tmp401.c hwmon: (tmp401) use smb word operations instead of 2 smb byte operations 2017-01-10 09:01:32 -08:00
tmp421.c hwmon: (tmp421) Add OF device ID table 2017-04-02 07:01:53 -07:00
ultra45_env.c
vexpress-hwmon.c hwmon: (vexpress) rename vexpress hwmon implementation 2016-03-05 06:25:33 -08:00
via-cputemp.c hwmon: (via-cputemp) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
via686a.c hwmon: (via686a) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
vt1211.c
vt8231.c hwmon: (vt8231) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83l785ts.c
w83l786ng.c
w83627ehf.c hwmon: (w83627ehf) Use request_muxed_region 2017-04-02 07:01:53 -07:00
w83627hf.c hwmon: (w83627hf) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83781d.c hwmon: (w83781d) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83791d.c hwmon: (w83791d) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83792d.c hwmon: (w83792d) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83793.c hwmon: (w83793) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83795.c
wm831x-hwmon.c
wm8350-hwmon.c
xgene-hwmon.c hwmon: (xgene) Fix up error handling path mixup in 'xgene_hwmon_probe()' 2017-10-01 08:46:54 -07:00