diff mbox

net: sfc: avoid -Wtype-limits warning

Message ID 20160615203122.3574513-1-arnd@arndb.de
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Arnd Bergmann June 15, 2016, 8:31 p.m. UTC
When building with -Wextra, we get a harmless warning from the
EFX_EXTRACT_OWORD32 macro:

ethernet/sfc/farch.c: In function 'efx_farch_test_registers':
ethernet/sfc/farch.c:119:30: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
ethernet/sfc/farch.c:124:144: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
ethernet/sfc/farch.c:124:392: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
ethernet/sfc/farch.c:124:731: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]

The macro and the caller are both correct, but we can avoid the
warning by changing the index variable to a signed type.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/net/ethernet/sfc/farch.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Bert Kenward June 16, 2016, 10:31 a.m. UTC | #1
On 15/06/16 21:31, Arnd Bergmann wrote:
> When building with -Wextra, we get a harmless warning from the
> EFX_EXTRACT_OWORD32 macro:
> 
> ethernet/sfc/farch.c: In function 'efx_farch_test_registers':
> ethernet/sfc/farch.c:119:30: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
> ethernet/sfc/farch.c:124:144: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
> ethernet/sfc/farch.c:124:392: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
> ethernet/sfc/farch.c:124:731: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
> 
> The macro and the caller are both correct, but we can avoid the
> warning by changing the index variable to a signed type.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Bert Kenward <bkenward@solarflare.com>

> ---
>  drivers/net/ethernet/sfc/farch.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/sfc/farch.c b/drivers/net/ethernet/sfc/farch.c
> index 133e9e35be9e..4c83739d158f 100644
> --- a/drivers/net/ethernet/sfc/farch.c
> +++ b/drivers/net/ethernet/sfc/farch.c
> @@ -104,7 +104,8 @@ int efx_farch_test_registers(struct efx_nic *efx,
>  			     const struct efx_farch_register_test *regs,
>  			     size_t n_regs)
>  {
> -	unsigned address = 0, i, j;
> +	unsigned address = 0;
> +	int i, j;
>  	efx_oword_t mask, imask, original, reg, buf;
>  
>  	for (i = 0; i < n_regs; ++i) {
>
David Miller June 16, 2016, 9:24 p.m. UTC | #2
From: Arnd Bergmann <arnd@arndb.de>
Date: Wed, 15 Jun 2016 22:31:10 +0200

> When building with -Wextra, we get a harmless warning from the
> EFX_EXTRACT_OWORD32 macro:
> 
> ethernet/sfc/farch.c: In function 'efx_farch_test_registers':
> ethernet/sfc/farch.c:119:30: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
> ethernet/sfc/farch.c:124:144: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
> ethernet/sfc/farch.c:124:392: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
> ethernet/sfc/farch.c:124:731: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
> 
> The macro and the caller are both correct, but we can avoid the
> warning by changing the index variable to a signed type.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Applied, thanks.
diff mbox

Patch

diff --git a/drivers/net/ethernet/sfc/farch.c b/drivers/net/ethernet/sfc/farch.c
index 133e9e35be9e..4c83739d158f 100644
--- a/drivers/net/ethernet/sfc/farch.c
+++ b/drivers/net/ethernet/sfc/farch.c
@@ -104,7 +104,8 @@  int efx_farch_test_registers(struct efx_nic *efx,
 			     const struct efx_farch_register_test *regs,
 			     size_t n_regs)
 {
-	unsigned address = 0, i, j;
+	unsigned address = 0;
+	int i, j;
 	efx_oword_t mask, imask, original, reg, buf;
 
 	for (i = 0; i < n_regs; ++i) {