]> err.no Git - linux-2.6/commitdiff
[PATCH] bonding: incorrect bonding state reported via ioctl
authorAndy Gospodarek <andy@greyhouse.net>
Mon, 4 Dec 2006 23:04:54 +0000 (15:04 -0800)
committerJeff Garzik <jeff@garzik.org>
Mon, 4 Dec 2006 23:36:02 +0000 (18:36 -0500)
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>
drivers/net/bonding/bond_main.c

index 488d8ed9e740b93a01aed6192dc2d31e76955af7..6482aed4bb7cddec1c6879e47a3a26a495332359 100644 (file)
@@ -3684,7 +3684,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);