From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([23.128.96.9]:46640 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727047AbeKEKCy (ORCPT ); Mon, 5 Nov 2018 05:02:54 -0500 Date: Sun, 04 Nov 2018 16:45:57 -0800 (PST) Message-Id: <20181104.164557.2006286407522148282.davem@davemloft.net> To: jarod@redhat.com Cc: linux-kernel@vger.kernel.org, maheshb@google.com, netdev@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH net v2] bonding/802.3ad: fix link_failure_count tracking From: David Miller In-Reply-To: <20181104195946.33861-1-jarod@redhat.com> References: <20181101212240.26768-1-jarod@redhat.com> <20181104195946.33861-1-jarod@redhat.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: From: Jarod Wilson Date: Sun, 4 Nov 2018 14:59:46 -0500 > Commit 4d2c0cda07448ea6980f00102dc3964eb25e241c set slave->link to > BOND_LINK_DOWN for 802.3ad bonds whenever invalid speed/duplex values > were read, to fix a problem with slaves getting into weird states, but > in the process, broke tracking of link failures, as going straight to > BOND_LINK_DOWN when a link is indeed down (cable pulled, switch rebooted) > means we broke out of bond_miimon_inspect()'s BOND_LINK_DOWN case because > !link_state was already true, we never incremented commit, and never got > a chance to call bond_miimon_commit(), where slave->link_failure_count > would be incremented. I believe the simple fix here is to mark the slave > as BOND_LINK_FAIL, and let bond_miimon_inspect() transition the link from > _FAIL to either _UP or _DOWN, and in the latter case, we now get proper > incrementing of link_failure_count again. > > Fixes: 4d2c0cda0744 ("bonding: speed/duplex update at NETDEV_UP event") > CC: Mahesh Bandewar > CC: David S. Miller > CC: netdev@vger.kernel.org > CC: stable@vger.kernel.org > Signed-off-by: Jarod Wilson > --- > v2: fix Fixes line Applied and queued up for -stable.