[patch 11/51] hwmon: (w83781d) Fix W83782D support (NULL pointer dereference)

Greg KH
2009-05-14T22:45:19Z

[-- Attachment #1: hwmon-fix-w83782d-support.patch --]
[-- Type: text/plain, Size: 1166 bytes --]

2.6.29-stable review patch. If anyone has any objections, please let us know.

------------------

From: Jean Delvare <khali@linux-fr.org>

Commit 848ddf116b3d1711c956fac8627be12dfe8d736f upstream

Commit 360782dde00a2e6e7d9fd57535f90934707ab8a8 (hwmon: (w83781d) Stop
abusing struct i2c_client for ISA devices) broke W83782D support for
devices connected on the ISA bus. You will hit a NULL pointer
dereference as soon as you read any device attribute. Other devices,
and W83782D devices on the SMBus, aren't affected.

Reported-by: Michel Abraham
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Tested-by: Michel Abraham
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
drivers/hwmon/w83781d.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/hwmon/w83781d.c
+++ b/drivers/hwmon/w83781d.c
@@ -1462,7 +1462,8 @@ static struct w83781d_data *w83781d_upda
data->pwm[i] =
w83781d_read_value(data,
W83781D_REG_PWM[i]);
- if ((data->type != w83782d || !client->driver)
+ /* Only W83782D on SMBus has PWM3 and PWM4 */
+ if ((data->type != w83782d || !client)
&& i == 1)
break;
}