]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
[PATCH] bonding: incorrect bonding state reported via ioctl
authorAndy Gospodarek <andy@greyhouse.net>
Tue, 21 Nov 2006 16:46:44 +0000 (11:46 -0500)
committerChris Wright <chrisw@sous-sol.org>
Sun, 17 Dec 2006 00:20:47 +0000 (16:20 -0800)
This is a small fix-up to finish out the work done by Jay Vosburgh to
add carrier-state support for bonding devices.  The output in
/proc/net/bonding/bondX was correct, but when collecting the same info
via an iotcl it could still be incorrect.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
drivers/net/bonding/bond_main.c

index 8b951238f3a278b4299cf88977bceb883b729c45..0ece819a953adc5b3d1fa716acebe8b5f6be017f 100644 (file)
@@ -3547,7 +3547,7 @@ static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd
                        mii->val_out = 0;
                        read_lock_bh(&bond->lock);
                        read_lock(&bond->curr_slave_lock);
-                       if (bond->curr_active_slave) {
+                       if (netif_carrier_ok(bond->dev)) {
                                mii->val_out = BMSR_LSTATUS;
                        }
                        read_unlock(&bond->curr_slave_lock);