Patch "hwmon: (it87) Avoid registering the same chip on both SIO addresses" has been added to the 4.10-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
hwmon: (it87) Avoid registering the same chip on both SIO addresses
to the 4.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
hwmon-it87-avoid-registering-the-same-chip-on-both-sio-addresses.patch
and it can be found in the queue-4.10 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
8358378b22518d92424597503d3c1cd302a490b6Mon Sep 17 00:00:00 2001
From: Guenter Roeck <[email protected]>
Date: Sun, 12 Mar 2017 06:18:58 -0700
Subject: hwmon: (it87) Avoid registering the same chip on both SIO addresses
From: Guenter Roeck <[email protected]>
commit 8358378b22518d92424597503d3c1cd302a490b6 upstream.
IT8705F is known to respond on both SIO addresses. Registering it twice may result in system lockups.
--- drivers/hwmon/it87.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-)
drivers/hwmon/it87.c +19 -5
@@ -3115,7 +3115,7 @@ static int __init sm_it87_init(void) {int sioaddr[2 ] = {REG_2E ,REG_4E };struct it87_sio_data sio_data; -unsigned short isa_address; +unsigned short isa_address[2 ];bool found = false;int i, err;
@@ -3125,15 +3125,29 @@ static int __init sm_it87_init(void)for (i =0 ; i <ARRAY_SIZE (sioaddr); i++) {memset (&sio_data,0 ,sizeof (struct it87_sio_data )); - isa_address =0 ; - err =it87_find (sioaddr[i], &isa_address, &sio_data); -if (err || isa_address ==0 ) + isa_address[i] =0 ; + err =it87_find (sioaddr[i], &isa_address[i], &sio_data); +if (err || isa_address[i] ==0 )continue ; +/* +* Don't register second chip if its ISA address matches +* the first chip's ISA address. +*/ +if (i && isa_address[i] == isa_address[0 ]) +break ; - err =it87_device_add (i, isa_address, &sio_data); + err =it87_device_add (i, isa_address[i], &sio_data);if (err) goto exit_dev_unregister; + found = true; + +/* +* IT8705F may respond on both SIO addresses. +* Stop probing after finding one. +*/ +if (sio_data.type == it87) +break ; }if (!found) {
Patches currently in stable-queue which might be from [email protected] are
queue-4.10/hwmon-it87-avoid-registering-the-same-chip-on-both-sio-addresses.patch