From: Joe Jin Date: Mon, 27 Aug 2012 06:35:28 +0000 (+0800) Subject: bonding: comparing a u8 with -1 is always false X-Git-Tag: v2.6.39-400.9.0~338^2~187 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=e403d76d85dab08a63a93151245d580934a67663;p=users%2Fjedix%2Flinux-maple.git bonding: comparing a u8 with -1 is always false slave->duplex is a u8 type so the in bond_info_show_slave() when we check "if (slave->duplex == -1)", it's always false. (backported from upstream commit 589665f5a6008dbce1d0af2cb93e94a80bf78151) Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller Signed-off-by: Joe Jin --- diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 4ccf676040b6..caf746b6be19 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -622,8 +622,8 @@ static int bond_update_speed_duplex(struct slave *slave) u32 slave_speed; int res; - slave->speed = -1; - slave->duplex = -1; + slave->speed = SPEED_UNKNOWN; + slave->duplex = DUPLEX_UNKNOWN; if (!slave_dev->ethtool_ops || !slave_dev->ethtool_ops->get_settings) return -1; diff --git a/drivers/net/bonding/bond_procfs.c b/drivers/net/bonding/bond_procfs.c index d516a2a4d089..9cc55a4b8a6c 100644 --- a/drivers/net/bonding/bond_procfs.c +++ b/drivers/net/bonding/bond_procfs.c @@ -156,12 +156,12 @@ static void bond_info_show_slave(struct seq_file *seq, seq_printf(seq, "\nSlave Interface: %s\n", slave->dev->name); seq_printf(seq, "MII Status: %s\n", (slave->link == BOND_LINK_UP) ? "up" : "down"); - if (slave->speed == -1) + if (slave->speed == SPEED_UNKNOWN) seq_printf(seq, "Speed: %s\n", "Unknown"); else seq_printf(seq, "Speed: %d Mbps\n", slave->speed); - if (slave->duplex == -1) + if (slave->duplex == DUPLEX_UNKNOWN) seq_printf(seq, "Duplex: %s\n", "Unknown"); else seq_printf(seq, "Duplex: %s\n", slave->duplex ? "full" : "half"); diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 74eeec7855f0..61b70fed936c 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h @@ -1108,10 +1108,12 @@ struct ethtool_ops { #define SPEED_1000 1000 #define SPEED_2500 2500 #define SPEED_10000 10000 +#define SPEED_UNKNOWN -1 /* Duplex, half or full. */ #define DUPLEX_HALF 0x00 #define DUPLEX_FULL 0x01 +#define DUPLEX_UNKNOWN 0xff /* Which connector port. */ #define PORT_TP 0x00