From 5c8dd22561c5efd26cd1a3069c573112f5d12194 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Mon, 11 Dec 2006 14:32:08 -0800 Subject: [PATCH] bonding driver fix from Andy Gospodarek --- ...ect-bonding-state-reported-via-ioctl.patch | 36 +++++++++++++++++++ queue-2.6.18/series | 1 + ...ect-bonding-state-reported-via-ioctl.patch | 36 +++++++++++++++++++ queue-2.6.19/series | 1 + 4 files changed, 74 insertions(+) create mode 100644 queue-2.6.18/bonding-incorrect-bonding-state-reported-via-ioctl.patch create mode 100644 queue-2.6.19/bonding-incorrect-bonding-state-reported-via-ioctl.patch diff --git a/queue-2.6.18/bonding-incorrect-bonding-state-reported-via-ioctl.patch b/queue-2.6.18/bonding-incorrect-bonding-state-reported-via-ioctl.patch new file mode 100644 index 00000000000..b0676e8f2a8 --- /dev/null +++ b/queue-2.6.18/bonding-incorrect-bonding-state-reported-via-ioctl.patch @@ -0,0 +1,36 @@ +From stable-bounces@linux.kernel.org Tue Nov 21 11:28:41 2006 +Resent-From: agospoda@redhat.com +Date: Tue, 21 Nov 2006 11:46:44 -0500 +From: Andy Gospodarek +To: stable@kernel.org +Message-ID: <20061121164643.GA2539@gospo.rdu.redhat.com> +Cc: fubar@us.ibm.com, ctindel@users.sourceforge.net +Subject: bonding: incorrect bonding state reported via ioctl + +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 +Cc: Jeff Garzik +Cc: Stephen Hemminger +Signed-off-by: Andrew Morton +Signed-off-by: Jeff Garzik +Signed-off-by: Chris Wright +--- + + drivers/net/bonding/bond_main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- linux-2.6.18.5.orig/drivers/net/bonding/bond_main.c ++++ linux-2.6.18.5/drivers/net/bonding/bond_main.c +@@ -3547,7 +3547,7 @@ static int bond_do_ioctl(struct net_devi + 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); diff --git a/queue-2.6.18/series b/queue-2.6.18/series index cbd07eb25a9..f88bbb86aea 100644 --- a/queue-2.6.18/series +++ b/queue-2.6.18/series @@ -12,3 +12,4 @@ xfrm-use-output-device-disable_xfrm-for-forwarded-packets.patch dm-snapshot-fix-freeing-pending-exception.patch ipsec-fix-inetpeer-leak-in-ipv4-xfrm-dst-entries.patch irda-incorrect-ttp-header-reservation.patch +bonding-incorrect-bonding-state-reported-via-ioctl.patch diff --git a/queue-2.6.19/bonding-incorrect-bonding-state-reported-via-ioctl.patch b/queue-2.6.19/bonding-incorrect-bonding-state-reported-via-ioctl.patch new file mode 100644 index 00000000000..551054c828c --- /dev/null +++ b/queue-2.6.19/bonding-incorrect-bonding-state-reported-via-ioctl.patch @@ -0,0 +1,36 @@ +From stable-bounces@linux.kernel.org Tue Nov 21 11:28:41 2006 +Resent-From: agospoda@redhat.com +Date: Tue, 21 Nov 2006 11:46:44 -0500 +From: Andy Gospodarek +To: stable@kernel.org +Message-ID: <20061121164643.GA2539@gospo.rdu.redhat.com> +Cc: fubar@us.ibm.com, ctindel@users.sourceforge.net +Subject: bonding: incorrect bonding state reported via ioctl + +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 +Cc: Jeff Garzik +Cc: Stephen Hemminger +Signed-off-by: Andrew Morton +Signed-off-by: Jeff Garzik +Signed-off-by: Chris Wright +--- + + drivers/net/bonding/bond_main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- linux-2.6.19.1.orig/drivers/net/bonding/bond_main.c ++++ linux-2.6.19.1/drivers/net/bonding/bond_main.c +@@ -3675,7 +3675,7 @@ static int bond_do_ioctl(struct net_devi + 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); diff --git a/queue-2.6.19/series b/queue-2.6.19/series index 6144ce037ee..ee733c6c1ea 100644 --- a/queue-2.6.19/series +++ b/queue-2.6.19/series @@ -3,3 +3,4 @@ sha512-fix-sha384-block-size.patch read_zero_pagealigned-locking-fix.patch ieee80211softmac-fix-mutex_lock-at-exit-of-ieee80211_softmac_get_genie.patch x86-64-mark-rdtsc-as-sync-only-for-netburst-not-for-core2.patch +bonding-incorrect-bonding-state-reported-via-ioctl.patch -- 2.47.3