]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
hwmon: (drivetemp) Set scsi command timeout to 10s
authorRussell Harmon <russ@har.mn>
Wed, 15 Jan 2025 13:13:41 +0000 (05:13 -0800)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 15 Jan 2025 14:22:13 +0000 (06:22 -0800)
There's at least one drive (MaxDigitalData OOS14000G) such that if it
receives a large amount of I/O while entering an idle power state will
first exit idle before responding, including causing SMART temperature
requests to be delayed.

This causes the drivetemp request to exceed its timeout of 1 second.

Signed-off-by: Russell Harmon <russ@har.mn>
Link: https://lore.kernel.org/r/20250115131340.3178988-1-russ@har.mn
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/drivetemp.c

index 2a4ec55ddb47edb65836f4c7b020d4b21fc9f4b3..291d91f686467681754fc4749f59cdd25f5c6e94 100644 (file)
@@ -194,7 +194,7 @@ static int drivetemp_scsi_command(struct drivetemp_data *st,
        scsi_cmd[14] = ata_command;
 
        err = scsi_execute_cmd(st->sdev, scsi_cmd, op, st->smartdata,
-                              ATA_SECT_SIZE, HZ, 5, NULL);
+                              ATA_SECT_SIZE, 10 * HZ, 5, NULL);
        if (err > 0)
                err = -EIO;
        return err;