hwmon: (it87) Check for a valid chip before using force_id
authorAhmad Khalifa <ahmad@khalifa.ws>
Tue, 4 Oct 2022 21:01:03 +0000 (22:01 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 5 Dec 2022 00:45:02 +0000 (16:45 -0800)
Check there is a chip before using force_id parameter as there
is no value in registering a non-existent chip

Signed-off-by: Ahmad Khalifa <ahmad@khalifa.ws>
Link: https://lore.kernel.org/r/20221004210100.540120-3-ahmad@khalifa.ws
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/it87.c

index e920dd2..73ed21a 100644 (file)
@@ -2401,7 +2401,13 @@ static int __init it87_find(int sioaddr, unsigned short *address,
                return err;
 
        err = -ENODEV;
-       chip_type = force_id ? force_id : superio_inw(sioaddr, DEVID);
+       chip_type = superio_inw(sioaddr, DEVID);
+       /* check first for a valid chip before forcing chip id */
+       if (chip_type == 0xffff)
+               goto exit;
+
+       if (force_id)
+               chip_type = force_id;
 
        switch (chip_type) {
        case IT8705F_DEVID: