From nobody Fri Aug 14 15:50:33 2026 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2CC5C46F4BB for ; Fri, 14 Aug 2026 13:40:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786714808; cv=none; b=Vy8Uxvf7m898yJeFXBBUlcsWW0BgwTChIp5jWoKxIlHkmPmDlWX1GtygMW9Ck1g7PCDxeUU8HE7bK/Ol3387bFTprrgvDLgpP0nUz2Sti5fUJUn+paQezbmY6TF5D6+J85CIrDwunZvJrdj5SkXJkJp+9Kucb73qHb1pdK9A+88= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786714808; c=relaxed/simple; bh=+uTgPFg+Azqeb3fY1uWHHNnu/zswUTZ7p3kCBzlM3MI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ZE6XrrwjJDEAvYZ3G/k+6Sxr5ZqXausrShrOUjuG5ndll6eYbrDBce5GTd4rX2+omeTOxF1VsJU5xmPkVZLC7MimPUHTKLgTdAL7VETrUnCN/3vF6s1JZzHaGjk7fboBzHpTMZ/IOtSk5g1zJm/DlWx4zNtHe2KWeYUF61jeYhk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=VoPnVBHD; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VoPnVBHD" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2cab973140bso16458305ad.3 for ; Fri, 14 Aug 2026 06:40:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786714806; x=1787319606; 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:content-type; bh=wFVRGmgn5V4eEChiH9FkFvygFT37YCkX95i3m+2PnEs=; b=VoPnVBHD0JZBQU6NbAZx7GUizHI7J17DnR/UzBCgLWQMMoIcGQFZExrWbb9JSHqq5I vo3ykEhYt9+sOdz/Jbp7lQwkmGlWUAyO4jrABUQk41OFCuvOnHFfZaQmk4fzQLFhNyo/ nxIJMguNRWbonQ9z2e8glAlLziIprGvScxccO+PEwVOKEgg7ExmN7yBV9xv0geBPjAIS 3P9VwJ6zjexcJf8ayQkAi9GT8ZuZFVcfJ/i1aLod0ful7tu9psuRsprvqT1SYd3zItYR 0bVdP2rXAnePvxVDVJKLFg7bgJq4+tuqcO8V1Tvv+1h9uj81bkI9aY3cpFdy9rwM6iZs y4aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786714806; x=1787319606; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=wFVRGmgn5V4eEChiH9FkFvygFT37YCkX95i3m+2PnEs=; b=Ib2qW/ryac/2iHvd2xayOdXwNlc4ZO53EzrhDJ7cwYCIr/o25cFykts4j1ZIJadqGY mLmEw5kLP+4yVwpDRrMHsj8Kx+CSVTxpSthX+Heyva/tpFKYAD0sp4LGr+tO9Wc3sLPv cOxaQuVZZgbD2K9Qgd/dlW4s0App5hCYtgKtI7u5+n0Us7NEuiu+cx0qTf3aWKU9oPh4 VKemkWGsdQJZ6+6rAiggVVXLEMdcsgCIeg5hUaGy2CWzCjtEC2TFAqjkmGmIikUemW2B ul3tALX8pbQ6RXHSlOwSMv9I38lE9tyCtMftkzL1Gkld0jnOHvB5bCBdVlxqITwSXiJ2 8nWw== X-Forwarded-Encrypted: i=1; AHgh+RpGSsJu3oBLOVIgU3dWcdZ5ttqdt9vCnyMywmkCK0j8Gf2HNgjJOsGv9qdh4Yn074R853z5bzf0zoNWZq4=@vger.kernel.org X-Gm-Message-State: AOJu0YyiGeLALFRX6+8dB3E+2sgI57YwBmq4LAqSG4Wx+3wO7KVDJXUh 1AI8Hf3whwTQMThyR6t14vd3cndY9NOKVdxWNME5lCc/48xRXtqEAld4 X-Gm-Gg: AR+sD134OMI0yz1PQ2ULcX6zXSAyNt8OeKyQKb3EDKE/ks7UguBSq94UZD5cLe02wPP iGH9YdopNK1sfl32WDLXN7gyVOc06TgXaAWY+jYKaBSv66smhKTS3Kriukr9ypJHHr5kEzynAmV bp3a03NHCM86akOwqHY5BortSmsorUVVpG9Tna+8srGszv268b9SwCI23scE1Q9Cn9qHwW04pCa m4mk1G0hgAz6bGnSto5qwnLmqY1LdN9oxcAAz9tWuLsAkiMZXo3eMjqtrGv7PfFy7KGMc7hOTZV z2kzUG9oYgeSJQjjcR9/tTf6N7vyJNdYwdxONs0uniYCTKMENJkpz5iPoiUMsOv28EmkWQN5kyr GuS/9cWfWhw8XfxKL7bkhS5JqmAIGlvPg/lGJKn4WuWD0eK3Pir6uCzEvjAooo5OECn5cS0LObC 5yYjfNAq8YHzjybe/m+SvNnevndbAZ8dUwZk1M0T+qCJeDD13WcFe9uUEpHi5D1PGAXmc32egSe KHxDpxg X-Received: by 2002:a17:903:390d:b0:2d3:89fb:35fb with SMTP id d9443c01a7336-2d3b04c40a1mr77796015ad.0.1786714806215; Fri, 14 Aug 2026 06:40:06 -0700 (PDT) Received: from haichao.tail057a43.ts.net ([2001:da8:e000:1206:e9af:7c0e:be31:2c3f]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d3ae7c067asm10234305ad.28.2026.08.14.06.40.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 06:40:05 -0700 (PDT) From: Ruoyu Wang To: Potnuri Bharat Teja , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Jeff Garzik , Divy Le Ray Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Ruoyu Wang Subject: [PATCH net] net: cxgb3: Ignore link changes on PHY read errors Date: Fri, 14 Aug 2026 21:39:59 +0800 Message-ID: <20260814133959.1386234-1-ruoyuw560@gmail.com> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" PHY link-status callbacks can fail before initializing all their output parameters. For example, an MI1 timeout in get_link_status_r() leaves link_ok unset, but t3_link_changed() then uses it to update MAC and carrier state. Return without changing link state when the callback fails. A later poll or PHY event can retry the update with valid values. This issue was found by a static analysis checker and confirmed by manual source review. Fixes: 4d22de3e6cc4 ("Add support for the latest 1G/10G Chelsio adapter, T3= .") Signed-off-by: Ruoyu Wang --- drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c b/drivers/net/ether= net/chelsio/cxgb3/t3_hw.c index a06003bfa04b9..cc04d21564253 100644 --- a/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c +++ b/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c @@ -1180,7 +1180,8 @@ void t3_link_changed(struct adapter *adapter, int por= t_id) struct cmac *mac =3D &pi->mac; struct link_config *lc =3D &pi->link_config; =20 - phy->ops->get_link_status(phy, &link_ok, &speed, &duplex, &fc); + if (phy->ops->get_link_status(phy, &link_ok, &speed, &duplex, &fc)) + return; =20 if (!lc->link_ok && link_ok) { u32 rx_cfg, rx_hash_high, rx_hash_low; --=20 2.51.0