aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/ipmi/ipmi_ssif.c
diff options
context:
space:
mode:
authorCorey Minyard <cminyard@mvista.com>2016-05-06 12:57:13 -0500
committerCorey Minyard <cminyard@mvista.com>2016-05-16 19:49:49 -0500
commit70f95b76f155153a2a51a9a4568b9bcd4e573f5c (patch)
tree59ed2c70e6930ea74d95d0275998c8d84162a216 /drivers/char/ipmi/ipmi_ssif.c
parentIPMI: reserve memio regions separately (diff)
downloadlinux-dev-70f95b76f155153a2a51a9a4568b9bcd4e573f5c.tar.xz
linux-dev-70f95b76f155153a2a51a9a4568b9bcd4e573f5c.zip
ipmi: Fix the I2C address extraction from SPMI tables
Unlike everywhere else in the IPMI specification, the I2C address specified in the SPMI table is not shifted to the left one bit with the LSB zero. Instead it is not shifted with the MSB zero. Reported-by: Sanjeev <singhsan@codeaurora.org> Signed-off-by: Corey Minyard <cminyard@mvista.com>
Diffstat (limited to '')
-rw-r--r--drivers/char/ipmi/ipmi_ssif.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index 8b3be8b92573..097c86898608 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -1870,7 +1870,7 @@ static int try_init_spmi(struct SPMITable *spmi)
return -EIO;
}
- myaddr = spmi->addr.address >> 1;
+ myaddr = spmi->addr.address & 0x7f;
return new_ssif_client(myaddr, NULL, 0, 0, SI_SPMI);
}