Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9e349f7 authored by Jean Delvare's avatar Jean Delvare Committed by Greg Kroah-Hartman
Browse files

it87: Prevent overflow on fan clock divider write



it87: Prevent overflow on fan clock divider write

The highest possible clock divider for fan1 and fan2 is 128.

Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 9060f8bd
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -198,7 +198,7 @@ static inline u16 FAN16_TO_REG(long rpm)
static int DIV_TO_REG(int val)
static int DIV_TO_REG(int val)
{
{
	int answer = 0;
	int answer = 0;
	while ((val >>= 1) != 0)
	while (answer < 7 && (val >>= 1))
		answer++;
		answer++;
	return answer;
	return answer;
}
}
@@ -563,7 +563,7 @@ static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr,


	struct i2c_client *client = to_i2c_client(dev);
	struct i2c_client *client = to_i2c_client(dev);
	struct it87_data *data = i2c_get_clientdata(client);
	struct it87_data *data = i2c_get_clientdata(client);
	int val = simple_strtol(buf, NULL, 10);
	unsigned long val = simple_strtoul(buf, NULL, 10);
	int i, min[3];
	int i, min[3];
	u8 old;
	u8 old;