diff options
| -rw-r--r-- | drivers/edac/amd64_edac.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index 17638d7cf5c2..5907c1718f8c 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c | |||
| @@ -2174,14 +2174,20 @@ static void __log_bus_error(struct mem_ctl_info *mci, struct err_info *err, | |||
| 2174 | 2174 | ||
| 2175 | static inline void decode_bus_error(int node_id, struct mce *m) | 2175 | static inline void decode_bus_error(int node_id, struct mce *m) |
| 2176 | { | 2176 | { |
| 2177 | struct mem_ctl_info *mci = mcis[node_id]; | 2177 | struct mem_ctl_info *mci; |
| 2178 | struct amd64_pvt *pvt = mci->pvt_info; | 2178 | struct amd64_pvt *pvt; |
| 2179 | u8 ecc_type = (m->status >> 45) & 0x3; | 2179 | u8 ecc_type = (m->status >> 45) & 0x3; |
| 2180 | u8 xec = XEC(m->status, 0x1f); | 2180 | u8 xec = XEC(m->status, 0x1f); |
| 2181 | u16 ec = EC(m->status); | 2181 | u16 ec = EC(m->status); |
| 2182 | u64 sys_addr; | 2182 | u64 sys_addr; |
| 2183 | struct err_info err; | 2183 | struct err_info err; |
| 2184 | 2184 | ||
| 2185 | mci = edac_mc_find(node_id); | ||
| 2186 | if (!mci) | ||
| 2187 | return; | ||
| 2188 | |||
| 2189 | pvt = mci->pvt_info; | ||
| 2190 | |||
| 2185 | /* Bail out early if this was an 'observed' error */ | 2191 | /* Bail out early if this was an 'observed' error */ |
| 2186 | if (PP(ec) == NBSL_PP_OBS) | 2192 | if (PP(ec) == NBSL_PP_OBS) |
| 2187 | return; | 2193 | return; |
