Commit acf346a3 authored by Hans de Goede's avatar Hans de Goede Committed by Mark M. Hoffman

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: default avatarHans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: default avatarMark M. Hoffman <mhoffman@lightlink.com>
parent f08a3487
...@@ -864,7 +864,7 @@ static int __init lm78_isa_found(unsigned short address) ...@@ -864,7 +864,7 @@ static int __init lm78_isa_found(unsigned short address)
/* Determine the chip type */ /* Determine the chip type */
outb_p(LM78_REG_CHIPID, address + LM78_ADDR_REG_OFFSET); outb_p(LM78_REG_CHIPID, address + LM78_ADDR_REG_OFFSET);
val = inb_p(address + LM78_DATA_REG_OFFSET); val = inb_p(address + LM78_DATA_REG_OFFSET);
if (val == 0x00 /* LM78 */ if (val == 0x00 || val == 0x20 /* LM78 */
|| val == 0x40 /* LM78-J */ || val == 0x40 /* LM78-J */
|| (val & 0xfe) == 0xc0) /* LM79 */ || (val & 0xfe) == 0xc0) /* LM79 */
found = 1; found = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment