From patchwork Wed Apr 12 05:36:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mahesh Bandewar X-Patchwork-Id: 749747 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3w2t2S3MkBz9s8H for ; Wed, 12 Apr 2017 15:36:32 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bandewar-net.20150623.gappssmtp.com header.i=@bandewar-net.20150623.gappssmtp.com header.b="I9f2ieE8"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752076AbdDLFg3 (ORCPT ); Wed, 12 Apr 2017 01:36:29 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:33080 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750915AbdDLFg2 (ORCPT ); Wed, 12 Apr 2017 01:36:28 -0400 Received: by mail-pf0-f193.google.com with SMTP id c198so3023015pfc.0 for ; Tue, 11 Apr 2017 22:36:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bandewar-net.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=+pfmpCcTVKgpOkpCaCJR8axMjit2LPCxk/rZ/1GEpis=; b=I9f2ieE8OVvMAo80MlPjohgsqRcxn7Zv5JOCx11Gxl7aLUMf4KKbSFqBFTOOrRHDY3 eYFHPreYfltghnbEwU91SxtJj1jJiRK7Gu22qnnLPv3xK3xY5WNcA97NeSH6/BA+bTA7 dh3KTBJE0SoVrLTKEF+c/8PkrTgiiaUBeNUQtxbYPEWwDG+dnRm89n0kV0R3Z16LB1hx cHEvWybltQQovgyVBh6ueYJSZceXoqyutaZzPcyzuSsWpzNXYyEimSOoaQIfDhqu+ZkA yc1HxF0cURSMB6FBRZfb6TV5PKfNTEBg/CdhKUdJFWgY+0yEJgai51MKTtrbVYoBWySo YlAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=+pfmpCcTVKgpOkpCaCJR8axMjit2LPCxk/rZ/1GEpis=; b=TWl5e822Q4HUx9L3EVJaLIism7uWT5AGHZojHuVwSj+yEyxSC+pkjTTjpRNAsZ8i/7 w1f3sh21QIppN8pr4LVHkuOIbY4gV1NUWwJBrSlqZV2OG9yc9qjhkVAcl4VdpSi3LHvK TdDCTOEZ11qNi87gHTqelZo6V+Yzb7wbjXMYXMfehTVafxA7vQQscYPh2Hy49JkhJgBg cOGHT6K526PID8nOiuCpm1Knk26fjpZ+uJvEFnFxwgIFfad1qBhcgMcAiiI0yasz/H94 FGSqFpChqpi8n1TnOtl4VptV7byTUoG7AQu7y8F0dHwGFY97TL59XZmUsEyXXSQuABEZ 2wbw== X-Gm-Message-State: AFeK/H2Ea0KU5n2GfIcI3PIjXZhaUa3oPemxd+MkNlKwNyLtZcFzTq3IOTh63EEwV4tZNA== X-Received: by 10.98.156.203 with SMTP id u72mr65272342pfk.127.1491975387958; Tue, 11 Apr 2017 22:36:27 -0700 (PDT) Received: from localhost ([2620:0:1000:3012:c5be:dbb3:2d03:abd6]) by smtp.gmail.com with ESMTPSA id l9sm33625304pfi.97.2017.04.11.22.36.26 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 11 Apr 2017 22:36:26 -0700 (PDT) From: Mahesh Bandewar To: Jay Vosburgh , Andy Gospodarek , Veaceslav Falico , Nikolay Aleksandrov , David Miller , Eric Dumazet Cc: netdev , Mahesh Bandewar , Mahesh Bandewar Subject: [PATCH next] bonding: handle link transition from FAIL to UP correctly Date: Tue, 11 Apr 2017 22:36:00 -0700 Message-Id: <20170412053600.35646-1-mahesh@bandewar.net> X-Mailer: git-send-email 2.12.2.715.g7642488e1d-goog Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Mahesh Bandewar When link transitions from LINK_FAIL to LINK_UP, the commit phase is not called. This leads to an erroneous state causing slave-link state to get stuck in "going down" state while its speed and duplex are perfectly fine. This issue is a side-effect of splitting link-set into propose and commit phases introduced by de77ecd4ef02 ("bonding: improve link-status update in mii-monitoring") This patch fixes these issues by calling commit phase whenever link state change is proposed. Fixes: de77ecd4ef02 ("bonding: improve link-status update in mii-monitoring") Signed-off-by: Mahesh Bandewar --- drivers/net/bonding/bond_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index aba7352906a5..01e4a69af421 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -2064,6 +2064,7 @@ static int bond_miimon_inspect(struct bonding *bond) (bond->params.downdelay - slave->delay) * bond->params.miimon, slave->dev->name); + commit++; continue; } @@ -2098,7 +2099,7 @@ static int bond_miimon_inspect(struct bonding *bond) (bond->params.updelay - slave->delay) * bond->params.miimon, slave->dev->name); - + commit++; continue; }