Re: [PATCH] dell-smm-hwmon: Cache fan_type() calls and use fan_status() for fan detection

From: Peter Saunderson
Date: Sun May 29 2016 - 15:27:25 EST


I have just tested removing i8k_get_fan_type() function from the dell-smm-hwmon driver in the kernel on my Dell Inspiron 580 and the fan speed problem goes away. My patch simply replaced fan_type with fan_status in i8k_init_hwmon and used the index as the type in i8k_hwmon_show_fan_label since index and the type were the same numerical value on my machine.

Removing i8k_get_fan_type() function for Dell Inspiron 580 would be a very good fix! Well done for finding it!

On 27/05/16 14:21, Pali RohÃr wrote:
So, once kernel call i8k_get_fan_type() function, then fan speed going
up/down? Even if it was called only at once? Can you confirm it? Caching
patch cause that for each fan that function is called exactly one time.
Yes even if the i8k_get_fan_type() function is called once I get the fan speed problem.
If this is problem, we can probably create DMI list of machines which do
not like i8k_get_fan_type() call and disable it for them.
Please add Dell Inspiron 580 to any blacklist that you create. The DMI_PRODUCT_NAME seems to have a white space at the end:

{
/*
* CPU fan speed going up and down on Dell Inspiron 580
* for unknown reasons.
*/
.ident = "Dell Inspiron 580",
.matches = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Inspiron 580 "),
},
},