aboutsummaryrefslogtreecommitdiff
path: root/drivers/edac
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-10-08 13:11:08 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-10 11:49:31 -0300
commit321ece4dda32f52d4a28d6eb11f2ca2a5c93c191 (patch)
tree7f6919a216d317799d1de120c98a6ab007a51410 /drivers/edac
parent6e103be1c7c4adb50f25aaf1f1e8f828833c1719 (diff)
i7core_edac: Fix ringbuffer maxsize
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/edac')
-rw-r--r--drivers/edac/i7core_edac.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c
index 59ec4417556..c2857f60ae6 100644
--- a/drivers/edac/i7core_edac.c
+++ b/drivers/edac/i7core_edac.c
@@ -1631,14 +1631,14 @@ static void i7core_check_error(struct mem_ctl_info *mci)
* loosing an error.
*/
smp_rmb();
- count = (pvt->mce_out + sizeof(mce_entry) - pvt->mce_in)
- % sizeof(mce_entry);
+ count = (pvt->mce_out + MCE_LOG_LEN - pvt->mce_in)
+ % MCE_LOG_LEN;
if (!count)
return;
m = pvt->mce_outentry;
- if (pvt->mce_in + count > sizeof(mce_entry)) {
- unsigned l = sizeof(mce_entry) - pvt->mce_in;
+ if (pvt->mce_in + count > MCE_LOG_LEN) {
+ unsigned l = MCE_LOG_LEN - pvt->mce_in;
memcpy(m, &pvt->mce_entry[pvt->mce_in], sizeof(*m) * l);
smp_wmb();
@@ -1702,7 +1702,7 @@ static int i7core_mce_check_error(void *priv, struct mce *mce)
return 0;
smp_rmb();
- if ((pvt->mce_out + 1) % sizeof(mce_entry) == pvt->mce_in) {
+ if ((pvt->mce_out + 1) % MCE_LOG_LEN == pvt->mce_in) {
smp_wmb();
pvt->mce_overrun++;
return 0;
@@ -1711,7 +1711,7 @@ static int i7core_mce_check_error(void *priv, struct mce *mce)
/* Copy memory error at the ringbuffer */
memcpy(&pvt->mce_entry[pvt->mce_out], mce, sizeof(*mce));
smp_wmb();
- pvt->mce_out = (pvt->mce_out + 1) % sizeof(mce_entry);
+ pvt->mce_out = (pvt->mce_out + 1) % MCE_LOG_LEN;
/* Handle fatal errors immediately */
if (mce->mcgstatus & 1)