hwmon: (occ) Fix extended status bits
authorLei YU <mine260309@gmail.com>
Mon, 15 Apr 2019 10:37:20 +0000 (18:37 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Tue, 16 Apr 2019 00:19:23 +0000 (17:19 -0700)
The occ's extended status is checked and shown as sysfs attributes. But
the code was incorrectly checking the "status" bits.
Fix it by checking the "ext_status" bits.

Cc: stable@vger.kernel.org
Fixes: df04ced684d4 ("hwmon (occ): Add sysfs attributes for additional OCC data")
Signed-off-by: Lei YU <mine260309@gmail.com>
Reviewed-by: Eddie James <eajames@linux.ibm.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/occ/sysfs.c

index fe3d15e..a71ca94 100644 (file)
@@ -42,16 +42,16 @@ static ssize_t occ_sysfs_show(struct device *dev,
                val = !!(header->status & OCC_STAT_ACTIVE);
                break;
        case 2:
-               val = !!(header->status & OCC_EXT_STAT_DVFS_OT);
+               val = !!(header->ext_status & OCC_EXT_STAT_DVFS_OT);
                break;
        case 3:
-               val = !!(header->status & OCC_EXT_STAT_DVFS_POWER);
+               val = !!(header->ext_status & OCC_EXT_STAT_DVFS_POWER);
                break;
        case 4:
-               val = !!(header->status & OCC_EXT_STAT_MEM_THROTTLE);
+               val = !!(header->ext_status & OCC_EXT_STAT_MEM_THROTTLE);
                break;
        case 5:
-               val = !!(header->status & OCC_EXT_STAT_QUICK_DROP);
+               val = !!(header->ext_status & OCC_EXT_STAT_QUICK_DROP);
                break;
        case 6:
                val = header->occ_state;