diff options
author | Hans de Goede <j.w.r.degoede@hhs.nl> | 2007-07-24 17:36:00 -0400 |
---|---|---|
committer | Mark M. Hoffman <mhoffman@lightlink.com> | 2007-07-30 21:05:07 -0400 |
commit | acf346a311588e4cb659c183b9e312fa313dbb7f (patch) | |
tree | 696f923c001deabca50d7ee7ed8377964ebfb706 /drivers/hwmon/lm78.c | |
parent | f08a34874f93d5081c735ffcb2f9071be9b5d270 (diff) |
hwmon: fix lm78 detection regression
Here is a small but important bugfix to the lm78 driver. I found out about this
problem because a Fedora user filed a bug that the lm78 driver no longer worked
on his system: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=249428
The problem is that sometime ago the isa lm78 detection was made more stringent
and this new code now checks the chip-id, but does not accept a chip-id of 20h,
however a chip-id of 20h is valid, and is excepted in the main probe function
of the driver, see line 551. This fixed also makes the isa detection code
accept the chip-id of 0x20 fixing this issue.
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
Diffstat (limited to 'drivers/hwmon/lm78.c')
-rw-r--r-- | drivers/hwmon/lm78.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hwmon/lm78.c b/drivers/hwmon/lm78.c index 9fb572f03ba5..565c4e679b8d 100644 --- a/drivers/hwmon/lm78.c +++ b/drivers/hwmon/lm78.c | |||
@@ -864,7 +864,7 @@ static int __init lm78_isa_found(unsigned short address) | |||
864 | /* Determine the chip type */ | 864 | /* Determine the chip type */ |
865 | outb_p(LM78_REG_CHIPID, address + LM78_ADDR_REG_OFFSET); | 865 | outb_p(LM78_REG_CHIPID, address + LM78_ADDR_REG_OFFSET); |
866 | val = inb_p(address + LM78_DATA_REG_OFFSET); | 866 | val = inb_p(address + LM78_DATA_REG_OFFSET); |
867 | if (val == 0x00 /* LM78 */ | 867 | if (val == 0x00 || val == 0x20 /* LM78 */ |
868 | || val == 0x40 /* LM78-J */ | 868 | || val == 0x40 /* LM78-J */ |
869 | || (val & 0xfe) == 0xc0) /* LM79 */ | 869 | || (val & 0xfe) == 0xc0) /* LM79 */ |
870 | found = 1; | 870 | found = 1; |