diff mbox

[2/2] rocker: silence shift wrapping warning

Message ID 20150225133612.GV19745@mwanda
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Dan Carpenter Feb. 25, 2015, 1:36 p.m. UTC
"val" is declared as a u64 so static checkers complain that this shift
can wrap.  I don't have the hardware but probably it's doesn't have over
31 ports.  Still we may as well silence the warning even if it's not a
real bug.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jiri Pirko Feb. 25, 2015, 1:44 p.m. UTC | #1
Wed, Feb 25, 2015 at 02:36:12PM CET, dan.carpenter@oracle.com wrote:
>"val" is declared as a u64 so static checkers complain that this shift
>can wrap.  I don't have the hardware but probably it's doesn't have over

It's a QEMU hardware, you can have it easily.

>31 ports.  Still we may as well silence the warning even if it's not a
>real bug.

It can have up to 62 ports.

>
>Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Jiri Pirko <jiri@resnulli.us>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Scott Feldman Feb. 25, 2015, 1:50 p.m. UTC | #2
On Wed, Feb 25, 2015 at 5:36 AM, Dan Carpenter <dan.carpenter@oracle.com> wrote:
> "val" is declared as a u64 so static checkers complain that this shift
> can wrap.  I don't have the hardware but probably it's doesn't have over
> 31 ports.  Still we may as well silence the warning even if it's not a
> real bug.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c
> index 713a13c..9fb6948 100644
> --- a/drivers/net/ethernet/rocker/rocker.c
> +++ b/drivers/net/ethernet/rocker/rocker.c
> @@ -1257,9 +1257,9 @@ static void rocker_port_set_enable(struct rocker_port *rocker_port, bool enable)
>         u64 val = rocker_read64(rocker_port->rocker, PORT_PHYS_ENABLE);
>
>         if (enable)
> -               val |= 1 << rocker_port->lport;
> +               val |= 1ULL << rocker_port->lport;
>         else
> -               val &= ~(1 << rocker_port->lport);
> +               val &= ~(1ULL << rocker_port->lport);
>         rocker_write64(rocker_port->rocker, PORT_PHYS_ENABLE, val);
>  }
>

Acked-by: Scott Feldman <sfeldma@gmail.com>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Feb. 27, 2015, 8:59 p.m. UTC | #3
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Wed, 25 Feb 2015 16:36:12 +0300

> "val" is declared as a u64 so static checkers complain that this shift
> can wrap.  I don't have the hardware but probably it's doesn't have over
> 31 ports.  Still we may as well silence the warning even if it's not a
> real bug.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
 
Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c
index 713a13c..9fb6948 100644
--- a/drivers/net/ethernet/rocker/rocker.c
+++ b/drivers/net/ethernet/rocker/rocker.c
@@ -1257,9 +1257,9 @@  static void rocker_port_set_enable(struct rocker_port *rocker_port, bool enable)
 	u64 val = rocker_read64(rocker_port->rocker, PORT_PHYS_ENABLE);
 
 	if (enable)
-		val |= 1 << rocker_port->lport;
+		val |= 1ULL << rocker_port->lport;
 	else
-		val &= ~(1 << rocker_port->lport);
+		val &= ~(1ULL << rocker_port->lport);
 	rocker_write64(rocker_port->rocker, PORT_PHYS_ENABLE, val);
 }