Hi, On 9/2/24 10:26 PM, Matthias Fetzer wrote: > Hi Hans, > > Am 27.08.24 um 11:09 schrieb Hans de Goede: >> Hi Dan, >> >> On 8/27/24 10:45 AM, Dan Carpenter wrote: >>> Hello Matthias Fetzer, >>> >>> Commit 57d0557dfa49 ("platform/x86: thinkpad_acpi: Add Thinkpad Edge >>> E531 fan support") from Aug 16, 2024 (linux-next), leads to the >>> following Smatch static checker warning: >>> >>> drivers/platform/x86/thinkpad_acpi.c:8387 fan_set_enable() >>> error: uninitialized symbol 's'. >>> >>> drivers/platform/x86/thinkpad_acpi.c >>> 8319 static int fan_set_enable(void) >>> 8320 { >>> 8321 u8 s; >>> 8322 int rc; >>> 8323 >>> 8324 if (!fan_control_allowed) >>> 8325 return -EPERM; >>> 8326 >>> 8327 if (mutex_lock_killable(&fan_mutex)) >>> 8328 return -ERESTARTSYS; >>> 8329 >>> 8330 switch (fan_control_access_mode) { >>> 8331 case TPACPI_FAN_WR_ACPI_FANS: >>> 8332 case TPACPI_FAN_WR_TPEC: >>> 8333 rc = fan_get_status(&s); >>> 8334 if (rc) >>> 8335 break; >>> 8336 >>> 8337 /* Don't go out of emergency fan mode */ >>> 8338 if (s != 7) { >>> 8339 s &= 0x07; >>> 8340 s |= TP_EC_FAN_AUTO | 4; /* min fan speed 4 */ >>> 8341 } >>> 8342 >>> 8343 if (!acpi_ec_write(fan_status_offset, s)) >>> 8344 rc = -EIO; >>> 8345 else { >>> 8346 tp_features.fan_ctrl_status_undef = 0; >>> 8347 rc = 0; >>> 8348 } >>> 8349 break; >>> 8350 >>> 8351 case TPACPI_FAN_WR_ACPI_SFAN: >>> 8352 rc = fan_get_status(&s); >>> 8353 if (rc) >>> 8354 break; >>> 8355 >>> 8356 s &= 0x07; >>> 8357 >>> 8358 /* Set fan to at least level 4 */ >>> 8359 s |= 4; >>> 8360 >>> 8361 if (!acpi_evalf(sfan_handle, NULL, NULL, "vd", s)) >>> 8362 rc = -EIO; >>> 8363 else >>> 8364 rc = 0; >>> 8365 break; >>> 8366 >>> 8367 case TPACPI_FAN_WR_ACPI_FANW: >>> 8368 if (!acpi_evalf(fanw_handle, NULL, NULL, "vdd", 0x8106, 0x05)) { >>> 8369 rc = -EIO; >>> 8370 break; >>> 8371 } >>> 8372 if (!acpi_evalf(fanw_handle, NULL, NULL, "vdd", 0x8100, 0x00)) { >>> 8373 rc = -EIO; >>> 8374 break; >>> 8375 } >>> 8376 >>> 8377 rc = 0; >>> >>> s isn't set on this path >>> >>> 8378 break; >>> 8379 >>> 8380 default: >>> 8381 rc = -ENXIO; >>> 8382 } >>> 8383 >>> 8384 mutex_unlock(&fan_mutex); >>> 8385 >>> 8386 if (!rc) >>> --> 8387 vdbg_printk(TPACPI_DBG_FAN, >>> 8388 "fan control: set fan control register to 0x%02x\n", >>> 8389 s); >>> ^ >>> Here >>> >>> 8390 return rc; >>> 8391 } >> >> Thank you for reporting this. >> >> Since this is just a debug print I think it is best to fix this by just >> initializing s to 0 when it is declared and then just log 0 >> in the TPACPI_FAN_WR_ACPI_FANW case. >> >> Anyone got any better suggestions ? >> >> Regards, >> >> Hans >> >> > > Since there do not seem to be any other suggestions I'll fix it that > way. > Shall I make a completely new patch for this since it is already on your > review branch or would a fixed v5 be enough? Please submit a new patch on top of platform-drivers-x86/for-next or on top of platform-drivers-x86/review-hans addressing just this warning. Regards, Hans