Re: [Patch] Signedness issue in drivers/net/phy/phy_device.c

From: Richard Knutsson
Date: Sun Aug 20 2006 - 00:03:10 EST

Eric Sesterhenn wrote:



while checking gcc 4.1 -Wextra warnings, I stumbled across the following
two warnings:

drivers/net/phy/phy_device.c:528: warning: comparison of unsigned expression < 0 is always false
drivers/net/phy/phy_device.c:546: warning: comparison of unsigned expression < 0 is always false

Since phy_read() returns an integer and can return negative values, it
seems to me the best way to get proper error handling working again
is to make val an int. Currently it is an u32, so the < 0 check
always fails.

Signed-off-by: Eric Sesterhenn <snakebyte@xxxxxx>

--- linux-2.6.18-rc4/drivers/net/phy/phy_device.c.orig 2006-08-19 18:22:56.000000000 +0200
+++ linux-2.6.18-rc4/drivers/net/phy/phy_device.c 2006-08-19 18:24:49.000000000 +0200
@@ -513,7 +513,7 @@ EXPORT_SYMBOL(genphy_read_status);

static int genphy_config_init(struct phy_device *phydev)
- u32 val;
+ int val;

Would it not be preferable to use a 's32' instead of an 'int'? After all, it seem 'val' needs to be 32 bits.

Just a thought
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at