sb_edac: fix socket detection on Ivy Bridge controllers
authorAristeu Rozanski <aris@redhat.com>
Mon, 2 Jun 2014 18:15:27 +0000 (15:15 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 26 Jun 2014 18:46:42 +0000 (15:46 -0300)
This patch fixes the obvious bug while handling the socket/HA bitmask used in
Ivy Bridge memory controllers.

Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: Aristeu Rozanski <aris@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/edac/sb_edac.c

index 3411f50..939b54c 100644 (file)
@@ -616,7 +616,7 @@ static u8 get_node_id(struct sbridge_pvt *pvt)
 static inline u8 sad_pkg_socket(u8 pkg)
 {
        /* on Ivy Bridge, nodeID is SASS, where A is HA and S is node id */
-       return (pkg >> 3) | (pkg & 0x3);
+       return ((pkg >> 3) << 2) | (pkg & 0x3);
 }
 
 static inline u8 sad_pkg_ha(u8 pkg)