Parcourir la source

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>
Corey Minyard il y a 9 ans
Parent
commit
70f95b76f1
1 fichiers modifiés avec 1 ajouts et 1 suppressions
  1. 1 1
      drivers/char/ipmi/ipmi_ssif.c

+ 1 - 1
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);
 }