Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1946266AbXBCCl2 (ORCPT ); Fri, 2 Feb 2007 21:41:28 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1946271AbXBCClO (ORCPT ); Fri, 2 Feb 2007 21:41:14 -0500 Received: from 216-99-217-87.dsl.aracnet.com ([216.99.217.87]:53385 "EHLO sous-sol.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1946267AbXBCClK (ORCPT ); Fri, 2 Feb 2007 21:41:10 -0500 Message-Id: <20070203024507.709863000@sous-sol.org> References: <20070203023504.435051000@sous-sol.org> User-Agent: quilt/0.45-1 Date: Fri, 02 Feb 2007 18:35:49 -0800 From: Chris Wright To: linux-kernel@vger.kernel.org, stable@kernel.org Cc: Justin Forbes , Zwane Mwaikambo , "Theodore Ts'o" , Randy Dunlap , Dave Jones , Chuck Wolber , Chris Wedgwood , Michael Krufky , torvalds@linux-foundation.org, akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk, Andy Gospodarek , "David S. Miller" , Stephen Hemminger , Jeff Garzik , Andrew Morton Subject: [patch 45/59] bonding: ARP monitoring broken on x86_64 Content-Disposition: inline; filename=bonding-arp-monitoring-broken-on-x86_64.patch Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1869 Lines: 51 -stable review patch. If anyone has any objections, please let us know. ------------------ From: Andy Gospodarek While working with the latest bonding code I noticed a nasty problem that will prevent arp monitoring from always functioning correctly on x86_64 systems. Comparing ints to longs and expecting reliable results on x86_64 is a bad idea. With this patch, arp monitoring works correctly again. Signed-off-by: Andy Gospodarek Cc: "David S. Miller" Cc: Stephen Hemminger Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik Signed-off-by: Chris Wright --- drivers/net/bonding/bonding.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- linux-2.6.19.2.orig/drivers/net/bonding/bonding.h +++ linux-2.6.19.2/drivers/net/bonding/bonding.h @@ -151,8 +151,8 @@ struct slave { struct slave *next; struct slave *prev; int delay; - u32 jiffies; - u32 last_arp_rx; + unsigned long jiffies; + unsigned long last_arp_rx; s8 link; /* one of BOND_LINK_XXXX */ s8 state; /* one of BOND_STATE_XXXX */ u32 original_flags; @@ -242,7 +242,8 @@ extern inline int slave_do_arp_validate( return bond->params.arp_validate & (1 << slave->state); } -extern inline u32 slave_last_rx(struct bonding *bond, struct slave *slave) +extern inline unsigned long slave_last_rx(struct bonding *bond, + struct slave *slave) { if (slave_do_arp_validate(bond, slave)) return slave->last_arp_rx; -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/