mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] edac: i7core_edac produces undefined behaviour on 32bit
@ 2009-10-28 10:52 Alan Cox
  2009-10-28 17:10 ` Doug Thompson
  0 siblings, 1 reply; 2+ messages in thread
From: Alan Cox @ 2009-10-28 10:52 UTC (permalink / raw)
  To: dougthompson, mchehab, linux-kernel

Fix the shifts up

Signed-off-by: Alan Cox <alan@linux.intel.com>
---

 drivers/edac/i7core_edac.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)


diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c
index b6fce2e..bd7c727 100644
--- a/drivers/edac/i7core_edac.c
+++ b/drivers/edac/i7core_edac.c
@@ -916,41 +916,41 @@ static ssize_t i7core_inject_enable_store(struct mem_ctl_info *mci,
 
 	/* Sets pvt->inject.dimm mask */
 	if (pvt->inject.dimm < 0)
-		mask |= 1L << 41;
+		mask |= 1LL << 41;
 	else {
 		if (pvt->channel[pvt->inject.channel].dimms > 2)
-			mask |= (pvt->inject.dimm & 0x3L) << 35;
+			mask |= (pvt->inject.dimm & 0x3LL) << 35;
 		else
-			mask |= (pvt->inject.dimm & 0x1L) << 36;
+			mask |= (pvt->inject.dimm & 0x1LL) << 36;
 	}
 
 	/* Sets pvt->inject.rank mask */
 	if (pvt->inject.rank < 0)
-		mask |= 1L << 40;
+		mask |= 1LL << 40;
 	else {
 		if (pvt->channel[pvt->inject.channel].dimms > 2)
-			mask |= (pvt->inject.rank & 0x1L) << 34;
+			mask |= (pvt->inject.rank & 0x1LL) << 34;
 		else
-			mask |= (pvt->inject.rank & 0x3L) << 34;
+			mask |= (pvt->inject.rank & 0x3LL) << 34;
 	}
 
 	/* Sets pvt->inject.bank mask */
 	if (pvt->inject.bank < 0)
-		mask |= 1L << 39;
+		mask |= 1LL << 39;
 	else
-		mask |= (pvt->inject.bank & 0x15L) << 30;
+		mask |= (pvt->inject.bank & 0x15LL) << 30;
 
 	/* Sets pvt->inject.page mask */
 	if (pvt->inject.page < 0)
-		mask |= 1L << 38;
+		mask |= 1LL << 38;
 	else
-		mask |= (pvt->inject.page & 0xffffL) << 14;
+		mask |= (pvt->inject.page & 0xffff) << 14;
 
 	/* Sets pvt->inject.column mask */
 	if (pvt->inject.col < 0)
-		mask |= 1L << 37;
+		mask |= 1LL << 37;
 	else
-		mask |= (pvt->inject.col & 0x3fffL);
+		mask |= (pvt->inject.col & 0x3fff);
 
 	/*
 	 * bit    0: REPEAT_EN


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] edac: i7core_edac produces undefined behaviour on 32bit
  2009-10-28 10:52 [PATCH] edac: i7core_edac produces undefined behaviour on 32bit Alan Cox
@ 2009-10-28 17:10 ` Doug Thompson
  0 siblings, 0 replies; 2+ messages in thread
From: Doug Thompson @ 2009-10-28 17:10 UTC (permalink / raw)
  To: dougthompson, mchehab, linux-kernel, Alan Cox



--- On Wed, 10/28/09, Alan Cox <alan@linux.intel.com> wrote:

> From: Alan Cox <alan@linux.intel.com>
> Subject: [PATCH] edac: i7core_edac produces undefined behaviour on 32bit
> To: dougthompson@xmission.com, mchehab@redhat.com, linux-kernel@vger.kernel.org
> Date: Wednesday, October 28, 2009, 4:52 AM
> Fix the shifts up
> 
> Signed-off-by: Alan Cox <alan@linux.intel.com>

Acked-by: Doug Thompson <dougthompson@xmission.com>


> ---
> 
>  drivers/edac/i7core_edac.c |   24
> ++++++++++++------------
>  1 files changed, 12 insertions(+), 12 deletions(-)
> 
> 
> diff --git a/drivers/edac/i7core_edac.c
> b/drivers/edac/i7core_edac.c
> index b6fce2e..bd7c727 100644
> --- a/drivers/edac/i7core_edac.c
> +++ b/drivers/edac/i7core_edac.c
> @@ -916,41 +916,41 @@ static ssize_t
> i7core_inject_enable_store(struct mem_ctl_info *mci,
>  
>      /* Sets pvt->inject.dimm mask */
>      if (pvt->inject.dimm < 0)
> -        mask |= 1L <<
> 41;
> +        mask |= 1LL <<
> 41;
>      else {
>          if
> (pvt->channel[pvt->inject.channel].dimms > 2)
> -           
> mask |= (pvt->inject.dimm & 0x3L) << 35;
> +           
> mask |= (pvt->inject.dimm & 0x3LL) << 35;
>          else
> -           
> mask |= (pvt->inject.dimm & 0x1L) << 36;
> +           
> mask |= (pvt->inject.dimm & 0x1LL) << 36;
>      }
>  
>      /* Sets pvt->inject.rank mask */
>      if (pvt->inject.rank < 0)
> -        mask |= 1L <<
> 40;
> +        mask |= 1LL <<
> 40;
>      else {
>          if
> (pvt->channel[pvt->inject.channel].dimms > 2)
> -           
> mask |= (pvt->inject.rank & 0x1L) << 34;
> +           
> mask |= (pvt->inject.rank & 0x1LL) << 34;
>          else
> -           
> mask |= (pvt->inject.rank & 0x3L) << 34;
> +           
> mask |= (pvt->inject.rank & 0x3LL) << 34;
>      }
>  
>      /* Sets pvt->inject.bank mask */
>      if (pvt->inject.bank < 0)
> -        mask |= 1L <<
> 39;
> +        mask |= 1LL <<
> 39;
>      else
> -        mask |=
> (pvt->inject.bank & 0x15L) << 30;
> +        mask |=
> (pvt->inject.bank & 0x15LL) << 30;
>  
>      /* Sets pvt->inject.page mask */
>      if (pvt->inject.page < 0)
> -        mask |= 1L <<
> 38;
> +        mask |= 1LL <<
> 38;
>      else
> -        mask |=
> (pvt->inject.page & 0xffffL) << 14;
> +        mask |=
> (pvt->inject.page & 0xffff) << 14;
>  
>      /* Sets pvt->inject.column mask */
>      if (pvt->inject.col < 0)
> -        mask |= 1L <<
> 37;
> +        mask |= 1LL <<
> 37;
>      else
> -        mask |=
> (pvt->inject.col & 0x3fffL);
> +        mask |=
> (pvt->inject.col & 0x3fff);
>  
>      /*
>       * bit    0:
> REPEAT_EN
> 
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-10-28 17:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-28 10:52 [PATCH] edac: i7core_edac produces undefined behaviour on 32bit Alan Cox
2009-10-28 17:10 ` Doug Thompson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®