Message ID | 20231106180506.2665-1-klaus.kudielka@gmail.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:8f47:0:b0:403:3b70:6f57 with SMTP id j7csp2835391vqu; Mon, 6 Nov 2023 10:06:52 -0800 (PST) X-Google-Smtp-Source: AGHT+IFx8oNnhFgRidTPfLri7EbrD3PTg5yTByBTzP+ExKDKMHR7paW838dtTU6ZISArbhDIQhHJ X-Received: by 2002:a05:6a20:9146:b0:163:a041:336c with SMTP id x6-20020a056a20914600b00163a041336cmr23327540pzc.48.1699294012572; Mon, 06 Nov 2023 10:06:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699294012; cv=none; d=google.com; s=arc-20160816; b=WyqQvfE1h55oIl4RUeXokHwUrNHPz7XD0FlKRqUaTRzU2xnsjjzbLfeQ35vKBLbr9o aNudNB0XeLyhWyjdHnd9Y+TxlHLPLMA3ppr+xbzUcbwq0nVLq/UwMtb6BLG1TghT7dub /wx95t8k77mcorwyFgM9UU8pWJZ88SUoFu0AYQPVjxBxKU7gH1cAmlx0rnVtsjxl6S31 IJB8JH1pghy/kkzT9GQLoMu05izas8jYI64EqN4guX9CUOd4Dcs5grCXD28Yx0DQZPZN 6HUpwAbvRfd4TrR+m/jlEihVH9qqfJuTkI46ywFQLFn8N/8TvzBBa4Tqgbpi5Io5uLK9 YoWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=jFJrO7z2AOZpVZxEtLlcen43+JRmpqTB2YOgHcrEaEs=; fh=EZOeEals0eZmDOi+u0/AzzVyeVCoDh6l+v+1lPzJtck=; b=UGVMBfCoEcq9o3oJoAzHIiGE58Y+8WyuRHU6F1kh6AHlV+ZvVNrMRCb9WU4aQ6l7ey XXWW984CYw4ez1O+gegDV68C2KR1kCEtb59JQ6ssS4DD5PDiLpcbG5fhz22SuEXC3iMd MsL2qVKpKWvDBpo5hih0AWkES1ObvTS9OBFpLfc7qo+YA6GbhHVobSQvH4slO9lmRJ68 Wq6Kvsqhl9tcN/1RIyUvkv3Hi5YT+hBQkxEsBI05kRqoxOBGMQioHqjGBQipnC9N5Q98 4ubVuwiYpDfKZUcshQq10YY1tV85xngcpDvivRyfZw1kXzkLSTyRZGTpY/lLf+137ElH qAFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=L1OkgSfk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id t22-20020aa79396000000b006be07ee9906si8025729pfe.99.2023.11.06.10.06.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 10:06:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=L1OkgSfk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 6854580A97FF; Mon, 6 Nov 2023 10:06:19 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231911AbjKFSGG (ORCPT <rfc822;lhua1029@gmail.com> + 34 others); Mon, 6 Nov 2023 13:06:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231800AbjKFSGE (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 6 Nov 2023 13:06:04 -0500 Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D6724D47; Mon, 6 Nov 2023 10:06:01 -0800 (PST) Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-507bd644a96so6849374e87.3; Mon, 06 Nov 2023 10:06:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699293960; x=1699898760; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=jFJrO7z2AOZpVZxEtLlcen43+JRmpqTB2YOgHcrEaEs=; b=L1OkgSfkURZB1XucDnUvlS4QxpqzcFUk5rapX1YbHU0RmvX6OeKunAt3e9tpZdhaLN gAqFm8oAwVnwD161jxvSg+Ng+P3KS+UWHGvwVLwh8bmteVFU0+1aN/33S8RePzvvxURk lecBFX19eQ9LtCh6v6jVMUSRn0V6VkWdg9FGGSxFsSs6zMZFYB8L6DGt7lSUu+iD8/iW kN4688jdEQ/H3h31kNetvuA0Y3YnctOy1XCQ1XpdgRe3BfGC0UDkPwOPKdCgOp8HRgCm CpAU/wY0XaiGZc69a2NoY4uNZsa6/NwfRBofv1td+hTF5CDI2VNr0DfzX9vIKGzQnKEJ tZ3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699293960; x=1699898760; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jFJrO7z2AOZpVZxEtLlcen43+JRmpqTB2YOgHcrEaEs=; b=m3W0VcBwhaLgEUcUR4Cfbt0jlBpxR9lkN2PzbMdlYwXgdwLJrYXdiGRMrMEXR1RydR ISkGyvUaTjjFBa0e3+TcArRNJ9uicOOc4VLzqKiquxin8vQm10OESRX3fnKo+cVv175R QWaWxUQUH2nyLvzYggMt5Kntys2vzasWf40nDVs9Xww/6k+3SV6HceU5+zYpMuN3YjHH z9OqzegDf1v9O3P195kA575lpBoJtlRaX8SMon2hZGMrMFv7WKqG1R1qSrQ8o+Jdo4Nv lz4AE6KV3MYuns/LRM7r9Yl95tQEHD8XPqxUwwCSA2UtIrtTLj/wxqeyQMn+fRlx8C7n NCwg== X-Gm-Message-State: AOJu0YxUm+8aFC5K5OXiP42Ie3XTH1hE9Z6WiRnf1sjAN3VE5t+96mIs xLHrfjH95eYDJugx4QUnduU= X-Received: by 2002:ac2:4d07:0:b0:502:ff3b:766f with SMTP id r7-20020ac24d07000000b00502ff3b766fmr19920812lfi.6.1699293959736; Mon, 06 Nov 2023 10:05:59 -0800 (PST) Received: from mars.. ([2a02:168:6806:0:be30:bf77:9975:b433]) by smtp.gmail.com with ESMTPSA id f9-20020a0560001b0900b0032db430fb9bsm217577wrz.68.2023.11.06.10.05.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 10:05:58 -0800 (PST) From: Klaus Kudielka <klaus.kudielka@gmail.com> To: Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>, Heiner Kallweit <hkallweit1@gmail.com> Cc: "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Klaus Kudielka <klaus.kudielka@gmail.com> Subject: [PATCH net] net: phylink: initialize carrier state at creation Date: Mon, 6 Nov 2023 19:05:06 +0100 Message-ID: <20231106180506.2665-1-klaus.kudielka@gmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 06 Nov 2023 10:06:19 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781838918470148643 X-GMAIL-MSGID: 1781838918470148643 |
Series |
[net] net: phylink: initialize carrier state at creation
|
|
Commit Message
Klaus Kudielka
Nov. 6, 2023, 6:05 p.m. UTC
Background: Turris Omnia (Armada 385); eth2 (mvneta) connected to SFP bus;
SFP module is present, but no fiber connected, so definitely no carrier.
After booting, eth2 is down, but netdev LED trigger surprisingly reports
link active. Then, after "ip link set eth2 up", the link indicator goes
away - as I would have expected it from the beginning.
It turns out, that the default carrier state after netdev creation is
"carrier ok". Some ethernet drivers explicitly call netif_carrier_off
during probing, others (like mvneta) don't - which explains the current
behaviour: only when the device is brought up, phylink_start calls
netif_carrier_off.
Fix this for all drivers, by calling netif_carrier_off in phylink_create.
Suggested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
---
drivers/net/phy/phylink.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Mon, Nov 06, 2023 at 07:05:06PM +0100, Klaus Kudielka wrote: > Background: Turris Omnia (Armada 385); eth2 (mvneta) connected to SFP bus; > SFP module is present, but no fiber connected, so definitely no carrier. > > After booting, eth2 is down, but netdev LED trigger surprisingly reports > link active. Then, after "ip link set eth2 up", the link indicator goes > away - as I would have expected it from the beginning. > > It turns out, that the default carrier state after netdev creation is > "carrier ok". Some ethernet drivers explicitly call netif_carrier_off > during probing, others (like mvneta) don't - which explains the current > behaviour: only when the device is brought up, phylink_start calls > netif_carrier_off. > > Fix this for all drivers, by calling netif_carrier_off in phylink_create. > > Suggested-by: Andrew Lunn <andrew@lunn.ch> > Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com> Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Thanks!
On Mon, Nov 06, 2023 at 07:05:06PM +0100, Klaus Kudielka wrote: > Background: Turris Omnia (Armada 385); eth2 (mvneta) connected to SFP bus; > SFP module is present, but no fiber connected, so definitely no carrier. > > After booting, eth2 is down, but netdev LED trigger surprisingly reports > link active. Then, after "ip link set eth2 up", the link indicator goes > away - as I would have expected it from the beginning. > > It turns out, that the default carrier state after netdev creation is > "carrier ok". Some ethernet drivers explicitly call netif_carrier_off > during probing, others (like mvneta) don't - which explains the current > behaviour: only when the device is brought up, phylink_start calls > netif_carrier_off. > > Fix this for all drivers, by calling netif_carrier_off in phylink_create. I would actually say: Fix this for all drivers using phylink, by calling... You marked this patch for net, so it should be backported. Ideally you should include a Fixes: tag, indicating when the problem was introduced. That is bit hard in this case. Its been broken forever. But adding LED support made this observable. So maybe a Fixes: tag based on when the LED trigger was added? You should also add: Cc: stable@vger.kernel.org There is more about this in: https://docs.kernel.org/process/stable-kernel-rules.html Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index 6712883498..a28da80bde 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -1616,6 +1616,7 @@ struct phylink *phylink_create(struct phylink_config *config, pl->config = config; if (config->type == PHYLINK_NETDEV) { pl->netdev = to_net_dev(config->dev); + netif_carrier_off(pl->netdev); } else if (config->type == PHYLINK_DEV) { pl->dev = config->dev; } else {