| From: Guenter Roeck <linux@roeck-us.net> |
| Date: Sun, 22 Apr 2018 18:16:54 -0700 |
| Subject: hwmon: (nct6683) Enable EC access if disabled at boot |
| |
| commit dbac00f0cf634120d77edee10d25e3f6899d7636 upstream. |
| |
| On Asrock Z370M Pro4, it was observed that EC access was disabled after |
| initially booting the system. As a result, the driver failed to load |
| with |
| nct6683: EC is disabled |
| After a suspend/resume cycle, the driver loaded correctly. |
| nct6683: Found NCT6683D or compatible chip at 0x2e:0xa20 |
| nct6683 nct6683.2592: NCT6683D EC firmware version 1.0 build 07/18/16 |
| |
| Enable EC access after identifying the chip if disabled to fix the problem. |
| Warn the user that the data it reports may be unusable, similar to other |
| drivers for chips from Nuvoton. |
| |
| Fixes: 41082d66bfd6f ("hwmon: Driver for NCT6683D") |
| Reported-by: Jonathan Sims <jonathan.625266@earthlink.net> |
| Tested-by: Jonathan Sims <jonathan.625266@earthlink.net> |
| Signed-off-by: Guenter Roeck <linux@roeck-us.net> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/hwmon/nct6683.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/hwmon/nct6683.c |
| +++ b/drivers/hwmon/nct6683.c |
| @@ -1335,8 +1335,8 @@ static int __init nct6683_find(int sioad |
| /* Activate logical device if needed */ |
| val = superio_inb(sioaddr, SIO_REG_ENABLE); |
| if (!(val & 0x01)) { |
| - pr_err("EC is disabled\n"); |
| - goto fail; |
| + pr_warn("Forcibly enabling EC access. Data may be unusable.\n"); |
| + superio_outb(sioaddr, SIO_REG_ENABLE, val | 0x01); |
| } |
| |
| superio_exit(sioaddr); |