From nobody Sat Jun 20 17:35:30 2026 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (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 40A6B17B50A for ; Sun, 12 Apr 2026 14:00:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002439; cv=none; b=CqPlzfZswt/dSd0mxMIuGI5N1yiLsn1GQM9JkVKDAqYEegqKkv03ANDwr4yo27wrYEoXphkHXSBDLtWIoEFCWMmkmbqNRWa/I9jozH8DyFRAq4Jv1FDa/vfoJvIfptwX7KS5K26bfVs8pqKLIx7yKWiLy9xZY04sTiIhQL1gOns= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002439; c=relaxed/simple; bh=mMaYpBdeS3NrnBsa8EFUtFNqHp0YZ5Ijols8OmB/8bs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bmMCdNP8EUhSm3XiMWfzmvDJIJimk4N+jTjv57NvizzyXit86NzI0qdFevvWtnXt9mtLWDGqQnnt5QZLS5Mvz7AiHzaO61oEHtv+I1kOGqpTNEVpudOAqFkVHZ3l/GfixNlC/FNjsn1fpllpnjiX3e4JM27Ka/c69l2lHGCOhrE= 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=QI5bR30Y; arc=none smtp.client-ip=209.85.221.50 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="QI5bR30Y" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-43d572f7437so2303066f8f.1 for ; Sun, 12 Apr 2026 07:00:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776002437; x=1776607237; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=djfGmhcRSmnW5HG+zxzJcYSHSvITdldDVooGPXKJOns=; b=QI5bR30YUjbZ5gSlXKisLdrZaqkKT6WWIy8suRZ7zTf654taup1D0826VTYpXQAiZZ bupr4Z0cLs4PA3GqHHnvXcIjU2dbJR3X5CV7t0U8lt8h5c80TKMiNP0Z6CbxTZfJG4uV H1Av5vM8S0tMFUExGE+yww+aNJU8RyU3R73IAGzKpTXq1trtfl1VE5SeUseQeX17bSrs xpoEl1BgtaD7dYWDmJ6be0DBGYW1MbznK3takn5uOLQYGCuPaPw1Z0bSv+w6Ck6yWJ8f mFiRQeAvTwrLwgaW0v8BNUdMF0ZdG0T8FxuHAuHT8WGcCdfMnfoYZCNY8LY8d6nFGm+U 8UHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776002437; x=1776607237; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=djfGmhcRSmnW5HG+zxzJcYSHSvITdldDVooGPXKJOns=; b=aHhGJpW6ZuaPUhkg9u8ACIG74cm/pVhSURVdZ4/aqlPM3E1W+39exvPPNNt2I17haG Uf+JRRIOSlGqaKf7zijltnL9mgc/wmZK1eVsLRgjqC1cwHx3+g61f42+Ttt8liRrp4fU VE1RhOoMONdPhJSrVo0Poi192yy0EjA+89fzDFqMMbY1n5vFAH5isEUu6OZgSyJbEgrC hkRi+EudhNpojW76Pqb6doEoDAO+sBaPMbhjNS6F+m3Bp82TcifbLe7dQCxarzLLQuz7 uYItFyZauIL0otoPAo+ZWaj2XoHrYrNU0XM3boKjnMx+9ABkRQTcMaViZYbJoz4/VhEW JY5A== X-Forwarded-Encrypted: i=1; AFNElJ93am+8FsReQ3YnFLoFtp5ZqlaXwbZkMsaSVxsCiWB6Fydu3kQX1GGVueKzLHbqQVWnooiFU3bwxqprZ54=@vger.kernel.org X-Gm-Message-State: AOJu0Yzk2BchZ3qOReat6FJw6r5t29dPJCUcwrb7JB44ILVYg4MLkPa+ FqagJeyLF6qkbmOQX47+yaxKmP0JD8haCsv7qdyIesh/jad7VWvJ5Csd X-Gm-Gg: AeBDiesfpJ9pDunQa3im/KZuZEV16l15e0y7H3ksNZUPS5pXzToj+KkjO0V7gpYEWR6 XsdY2D4HVu3Igk8GbnGLMk+ZUmWZGwsmNyY9WRXc/GsXUQ8+xikxzT1TxOLio8gnKBcD6Ux0Ixg 6wUvzDauReMYaYTtIPSiyw1X9k2hICpuLuz4uvDMApyspt1vQAE/lyC0aY+entHoBVq5Ls/1pA6 AwBh4HKSePdBvcHKQP7pURw0jq36Ef1aXsmoq633L+ob27fI5W3vKbMMFGhPPn4TrIssdXv56fy w0GeHJGtWrIBigt94kV+pzrMTIqbivo7j22QjInGD5iti9IfCIivV7gBTlcOVLYPrOX4dK+qFY0 Naq/y8OvgmH7+H4G/Vy/0LH3GYvHdWJYLVrT7si/2Y46RvEXzBU/5DiwxsrcwuxeSIS9bXztxF1 aUagXVvnVjoZiGodeJwjMVq5ieVUX1lF514EtOmZYp9D5nFD+C X-Received: by 2002:a05:6000:220b:b0:43d:70b3:7ee2 with SMTP id ffacd0b85a97d-43d70b3811emr3827998f8f.1.1776002436522; Sun, 12 Apr 2026 07:00:36 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:6956:2074:5220:4650]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e50015sm26127538f8f.27.2026.04.12.07.00.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Apr 2026 07:00:36 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Andrew Lunn , Heiner Kallweit , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Biju Das , Russell King , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Prabhakar Mahadev Lad , Biju Das , linux-renesas-soc@vger.kernel.org, Ovidiu Panait Subject: [PATCH net-next v3 1/5] net: phy: call phy_init_hw() in phy resume path Date: Sun, 12 Apr 2026 15:00:23 +0100 Message-ID: <20260412140032.122841-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> References: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> 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" From: Biju Das When mac_managed_pm flag is set, mdio_bus_phy_resume() is skipped, so phy_init_hw(), which performs soft_reset and config_init, is not called during resume. This is inconsistent with the non-mac_managed_pm path, where mdio_bus_phy_resume() calls phy_init_hw() before phy_resume() on every resume. To align both paths, move the phy_init_hw() call into phy_resume() itself, before invoking the driver's resume callback. This ensures PHY soft reset and re-initialization happen unconditionally, regardless of whether PM is managed by the MAC or the MDIO bus. As a result, drop the redundant phy_init_hw() call in mdio_bus_phy_resume(). Additionally, in phy_attach_direct(), replace the separate phy_init_hw() and phy_resume() calls with a single phy_resume() call, since phy_init_hw() is now handled inside phy_resume(). Signed-off-by: Ovidiu Panait Signed-off-by: Biju Das --- v2->v3: * No change, v1->v2: * Updated commit description. * phy_init_hw() is moved from __phy_resume() -> phy_resume() to make it lock-free. * Dropped redundant phy_init_hw() call from mdio_bus_phy_resume() and phy_attach_direct(). --- drivers/net/phy/phy_device.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 0edff47478c2..4a2b19d39373 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -396,10 +396,6 @@ static __maybe_unused int mdio_bus_phy_resume(struct d= evice *dev) WARN_ON(phydev->state !=3D PHY_HALTED && phydev->state !=3D PHY_READY && phydev->state !=3D PHY_UP); =20 - ret =3D phy_init_hw(phydev); - if (ret < 0) - return ret; - ret =3D phy_resume(phydev); if (ret < 0) return ret; @@ -1857,16 +1853,14 @@ int phy_attach_direct(struct net_device *dev, struc= t phy_device *phydev, if (dev) netif_carrier_off(phydev->attached_dev); =20 - /* Do initial configuration here, now that + /* Do initial configuration inside phy_init_hw(), now that * we have certain key parameters * (dev_flags and interface) */ - err =3D phy_init_hw(phydev); + err =3D phy_resume(phydev); if (err) goto error; =20 - phy_resume(phydev); - /** * If the external phy used by current mac interface is managed by * another mac interface, so we should create a device link between @@ -2020,6 +2014,10 @@ int phy_resume(struct phy_device *phydev) { int ret; =20 + ret =3D phy_init_hw(phydev); + if (ret) + return ret; + mutex_lock(&phydev->lock); ret =3D __phy_resume(phydev); mutex_unlock(&phydev->lock); --=20 2.43.0 From nobody Sat Jun 20 17:35:30 2026 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 448EC30FC39 for ; Sun, 12 Apr 2026 14:00:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002440; cv=none; b=ojS6qFz4VAOiOkXu/YoU2Qj0nvDwU3v1jWxj8tMTcy3fh3O/3fzDW2uyoKp+Dsz7cl5WxylXqvOcY1VDb0tSjO/mW11jYSXlflHRuuK32tWWX4aAr1dP/zp4HYQw1MZpVF2OfG+gs65bI27zezN2vd6F2y/n5nVRitCPu6nHYRc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002440; c=relaxed/simple; bh=0kCU53SzmV+uinnrkVidKHIPcWwqk66luWO+WnEojvk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SqpIdkM+4VeKSY/PierXyKkCyxTbrCiZCQ7vO3OjCwjw8cs2MdogX/rq/b8VCBZi10IpO2hOQyxCsdQ4wrg3fVPx/+OjXPJt26CfnD1vUZ/yAfr2uHp7b+plepZzlx1S60VUvIJgjIowRzNwrxv0g6+IUNtcm2eET6e44EhLmy8= 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=djZqx/vD; arc=none smtp.client-ip=209.85.221.44 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="djZqx/vD" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-43d6fbd0954so526792f8f.1 for ; Sun, 12 Apr 2026 07:00:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776002438; x=1776607238; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jIWV0wD0IVAod/dfAsNX5Qr54zSgEU8/W7tRZNFLB0I=; b=djZqx/vDe5Thv2DKY82iTkaU9cAkcWPQvWc4bWhja7r817oLp/YSNGxS3nw0O84FC6 hZt6b7pCHb+vWOm7HSZQxlPaIdubIu0yOOTBOiacnV8XC1HzfsNcqUh0H3KL59Ro4D1p Mh9WdGLX5+ffSbT27xs6HjbcNHTohWdXWAycl0zhAlJ1kL6MFRaSgvAXDfoI2TdVIjoC fgEUkVtkP43QVLKba8MuDKkgldZJTYwX/lgMe/EhufTOOhLS4kAD9urVf2XZwNzHbPwF 4JTcxBIYp3naWyIpYeqHmXEX6ByTDy/AkGo6eyHpbWKgDRTmVoSbj3RwF6uQQdI/ikDL fr4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776002438; x=1776607238; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jIWV0wD0IVAod/dfAsNX5Qr54zSgEU8/W7tRZNFLB0I=; b=JDRMjHK1FW3IkCsNp4I16qi55SwRzy0SAzT4cMmwRdiRAbc3fjMVqSgSLm9QpoDzbU hOFLFbQ9ibx/JjMvgXm1UhCtsv6Ww+Ht9wpn+RSrJLXtenASCbIXqpKvEicZSt7hnwpA ixsIyTWa2vsFPAFim3o8tMRXCsJ/WER8olFqoAI+TVEBLB++YW3Kwdj/KYZSR7Mm+E5+ /56Wo8h5Ckg5G09gSVy3JioIEH4iCNb1MdHwknfHSbxkx70tf0xMIQWqygXghFAlYshR YYfEB+WJOZhXPXbcRAi/c1UMUT6wHWoHAVsZKTx+XUAZhw5a1bd+IKQeTVFQvi7Xohhb LJOw== X-Forwarded-Encrypted: i=1; AFNElJ+YUb+KacyNlxI1h/znKhps6o5Q1TnjBNn+GPELTiYFtF4UjTgfJMj8Sde8gm0hLeGiVZQNGtGVLRxOS5c=@vger.kernel.org X-Gm-Message-State: AOJu0YzyEHKYCzmt6GWDZnhtarGi1g67S4w+sfO/ylNWIGrXdKvboWnh Lal6UNrYLGwJ080NviDqWASaC+vucUvmTzu36VRS8k+YGXQ9Jal26KQM X-Gm-Gg: AeBDiesE23Wb0CXAVEc0SR8D5VRdnPE9nm1WG5FTUv1ewf4RHv1JIPjCRvVDIfstZ3v tbrd7wpYSWzi+6jA0C5b1l+O+ugRp0EjB29NXKjGX+AvHSKUsJIb1Soi4ix2lkIv3kXdRQT+1CB g7NMfEIN3cBvgi8/0WXOKcrQasbLxmfoKdZM9qcepee8VVqfkSQQLojC9IEca9ia+ZBwJUlCprz Fz13JQHcVU0D8KUiK2XVHFruZwJuXYl34Qszpdnd7Ylw0sVA+1ouVN+vKuiyD0kv35Wcas6bvbO hfS6ySFDZAc/Uay2UCbbiwtxLPSssTkmSvIfZdVpq6qS+pws7pvymEL+L1tYV5prf57N1IRkdU2 7GfobsPVWgjUBlH9pL01XsmXtO2I4DrVtzZhgucKmTaWHrXfLvqqknViTdtacA1GPYpHefRExa6 BF0sEjtOW+wcDG3dCubYyX7kGAkitVMMW+fgjIfYOSqdf32bMT X-Received: by 2002:a05:6000:18a9:b0:43c:fd0a:5c6b with SMTP id ffacd0b85a97d-43d642bb025mr14837112f8f.50.1776002437560; Sun, 12 Apr 2026 07:00:37 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:6956:2074:5220:4650]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e50015sm26127538f8f.27.2026.04.12.07.00.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Apr 2026 07:00:37 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Heiner Kallweit , nic_swsd@realtek.com, Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Biju Das , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Prabhakar Mahadev Lad , Biju Das , linux-renesas-soc@vger.kernel.org Subject: [PATCH net-next v3 2/5] r8169: Drop redundant phy_init_hw() call in rtl8169_up() Date: Sun, 12 Apr 2026 15:00:24 +0100 Message-ID: <20260412140032.122841-3-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> References: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> 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" From: Biju Das Since phy_resume() now calls phy_init_hw() internally as part of the resume sequence, the explicit phy_init_hw() call immediately before phy_resume() in rtl8169_up() is redundant. Remove it. No functional change intended. Signed-off-by: Biju Das --- v2->v3: * Added the patch into series * Updated commit description. v2: * New patch --- drivers/net/ethernet/realtek/r8169_main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethern= et/realtek/r8169_main.c index 791277e750ba..cb22105f323f 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -5032,7 +5032,6 @@ static void rtl8169_up(struct rtl8169_private *tp) rtl8168_driver_start(tp); =20 pci_set_master(tp->pci_dev); - phy_init_hw(tp->phydev); phy_resume(tp->phydev); rtl8169_init_phy(tp); napi_enable(&tp->napi); --=20 2.43.0 From nobody Sat Jun 20 17:35:30 2026 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (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 76F5434CFAB for ; Sun, 12 Apr 2026 14:00:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002442; cv=none; b=hoAT0VQItn/7QNdd/h8SSnySgeA/POukDYOfNPdCVX/WAXB1UDllX35DfJWtkWQLEe7WBR1VzMmtIrxy57qcZc0Qt8t7J8CffmQ95FSne/bzppFmSitc0XX4lLliMDbcWmBzXIFIHNiiIMzg3WweoP7jbI2EcQZOlB4rpL+FLe8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002442; c=relaxed/simple; bh=3+I/QmdaT5K5uAqSVBg3ntKJt2qnVe2AOfqKzgGLZfw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tI6/gYaiYQ7I7OaYZkDsfyGvTtCgxucW7aQOlJuVH6BVcBb+C4NBp74nCLP7llACYP3tnsrfexft8BYZdXubKFR0g52ErqjNLbzoSL0CCk86zAQnXuLhEjbgcoHA0sO3P3NrQxutqvncOk1reM64CHxXvu4FCiAcmNR5p5T/RZ0= 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=cZ4zZV9I; arc=none smtp.client-ip=209.85.221.48 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="cZ4zZV9I" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-43d572f7437so2303097f8f.1 for ; Sun, 12 Apr 2026 07:00:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776002439; x=1776607239; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8+LliZVhUSquTF1adZHkj/J/X8yfecCPswdZw6vA+og=; b=cZ4zZV9IuEGP2L2S6dG/j8a9QbLDzSkZPNzdAK5pbdxxOCS78eS3iXPYnG0Xngnhh6 PCKSpfUoTVq1KZ8vpGf5L4ZaLce5/OVJaW3b1AOLqYfy7NgMAKsy3DBq0rmyU5ZRbrwJ +rOQ87bgaEqBtc8neWAzKnc2VG9Yzt1UBAx1sT424UGTIyC+/sbI+peSxX5I0SKazj4L bJpfrNinpT1D1fcWy7CZzB3mnNooHH9kFbtDFJ+IArTfrRUV0thJs6nLx1NmxRBD03wZ sKFSvf2/Lk0XhNs+B1aqYPUZJEMsOCkJxBnjjF/8JSNGRiJa5MBLheBmZZfSdjlahYeO gqGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776002439; x=1776607239; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8+LliZVhUSquTF1adZHkj/J/X8yfecCPswdZw6vA+og=; b=dzHyg92oJte5dmqlvV7HLu1TP5/9opmXUpl6DGHfN8hkrxjfGII3N9esJVkdgvhvFW 60GSUYqc21MRD2NeyRTVyq1/FZHWb5FlcFNqcwId/7/RBoCUbJVc0oLiGV4yQfflY9pn vGOA/+QtLYsqdfiQTsmZcPOJjjuy+Ofi2A+Nm5c26aj/LsSVKKQgDO2a948OXsLbEPYP P0Fu4cSEE5ERA5XfV6xxtnkriTlpmJDJpdl0PxfvnGi2TgQVuQeTIYGZT/zIcmv7CvJO 3P3lt8MiYGuNuLvNAtXd4Jdm3QO64YjGlLTVFpJTtCxwO9QxSnQabhqVB51GCdxR2Jrc eafg== X-Forwarded-Encrypted: i=1; AFNElJ+rZpcLPELxBsYT3obUjNgFheDY/SYG2fJ347rOk398BDUAycErHrvior4E3Votykf9wtwlJvGVp09ADN4=@vger.kernel.org X-Gm-Message-State: AOJu0Ywjk4q+8sKCHrQN1/zijZpR8VImJ26lKwDYZalQ++iSau9Ko7pl rm1H+2y69Eg5Dz6jst8+eXmQl3gz0TZncPlMNhu/WccIsukT26AI5sJX X-Gm-Gg: AeBDievrcqp1zz9GhQNN63A/4CMWscUf6BbHPOYQo1T4ilpGdb6KB+J9b3qZVAhia1q EjDH16fFqmR0A/GWF0MzvyfvGbTrDCtoCy/znTTyOJttGG05i1wOSxfqD/bBFZsTGMGqM+2Aby0 4qLPqQHs1jsd692LIQAqY3cBd3mCPNMX3tPhaVj0NX1SbqCwc//qMgMGxwxeDsBeqlHes/rMlck 2k826kqW8+HqYuiTl5lWAocATgHav9xTc1ok+q6FqM9DNugGM/egCCVjgeSYXGX7P4s+KYMERW0 +/k99onMSB0X4LO4hB9ao7+0sNkGkmU2ZSpJVV8VmxgETWr7vLEoVx6aovoPhUcCw2s1mFydj9I VfYqRrSfvJF8uAxELKv6vv+6bVZd9dYQcYtHGD+POfHalO4dRK1/2YetJUjq71gG42UiZDAn4R+ 9Fax2++0ezGck+zK2xplQi2flJZiS2p+OI9d4QmPy8yUFg4ss4 X-Received: by 2002:a05:6000:4201:b0:43d:7828:1f81 with SMTP id ffacd0b85a97d-43d78282302mr700830f8f.41.1776002438686; Sun, 12 Apr 2026 07:00:38 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:6956:2074:5220:4650]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e50015sm26127538f8f.27.2026.04.12.07.00.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Apr 2026 07:00:38 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Andrew Lunn , Heiner Kallweit , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Biju Das , Russell King , Lad Prabhakar , Horatiu Vultur , Vladimir Oltean , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Biju Das , linux-renesas-soc@vger.kernel.org Subject: [PATCH net-next v3 3/5] net: phy: mscc: Drop unnecessary phydev->lock Date: Sun, 12 Apr 2026 15:00:25 +0100 Message-ID: <20260412140032.122841-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> References: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Biju Das Remove manual mutex_lock/unlock(&phydev->lock) calls from several functions in the MSCC PHY driver. In vsc85xx_edge_rate_cntl_set(), phydev->lock is taken around a single phy_modify_paged() call. phy_modify_paged() is already a fully locked atomic operation that acquires the MDIO bus lock internally, so the additional phydev->lock is unnecessary. The remaining three functions =E2=80=94 vsc85xx_mac_if_set(), vsc8531_pre_init_seq_set(), and vsc85xx_eee_init_seq_set() =E2=80=94 use phy_read(), phy_write(), phy_select_page(), and phy_restore_page(), all of which operate under the MDIO bus lock. Taking phydev->lock around them provides no additional serialisation. Along with dropping the locks, error-path labels are renamed from out_unlock to err or restore_oldpage to better reflect their purpose. In vsc8531_pre_init_seq_set() and vsc85xx_eee_init_seq_set(), the redundant intermediate assignment of oldpage before returning is also eliminated. No functional change intended. Signed-off-by: Biju Das Reviewed-by: Andrew Lunn --- v2->v3: * Added the patch into series * Updated commit description. v2: * New patch --- drivers/net/phy/mscc/mscc_main.c | 41 ++++++++++---------------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/drivers/net/phy/mscc/mscc_main.c b/drivers/net/phy/mscc/mscc_m= ain.c index 2b9fb8a675a6..75430f55acfd 100644 --- a/drivers/net/phy/mscc/mscc_main.c +++ b/drivers/net/phy/mscc/mscc_main.c @@ -486,15 +486,9 @@ static int vsc85xx_dt_led_modes_get(struct phy_device = *phydev, =20 static int vsc85xx_edge_rate_cntl_set(struct phy_device *phydev, u8 edge_r= ate) { - int rc; - - mutex_lock(&phydev->lock); - rc =3D phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2, - MSCC_PHY_WOL_MAC_CONTROL, EDGE_RATE_CNTL_MASK, - edge_rate << EDGE_RATE_CNTL_POS); - mutex_unlock(&phydev->lock); - - return rc; + return phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2, + MSCC_PHY_WOL_MAC_CONTROL, EDGE_RATE_CNTL_MASK, + edge_rate << EDGE_RATE_CNTL_POS); } =20 static int vsc85xx_mac_if_set(struct phy_device *phydev, @@ -503,7 +497,6 @@ static int vsc85xx_mac_if_set(struct phy_device *phydev, int rc; u16 reg_val; =20 - mutex_lock(&phydev->lock); reg_val =3D phy_read(phydev, MSCC_PHY_EXT_PHY_CNTL_1); reg_val &=3D ~(MAC_IF_SELECTION_MASK); switch (interface) { @@ -522,17 +515,15 @@ static int vsc85xx_mac_if_set(struct phy_device *phyd= ev, break; default: rc =3D -EINVAL; - goto out_unlock; + goto err; } rc =3D phy_write(phydev, MSCC_PHY_EXT_PHY_CNTL_1, reg_val); if (rc) - goto out_unlock; + goto err; =20 rc =3D genphy_soft_reset(phydev); =20 -out_unlock: - mutex_unlock(&phydev->lock); - +err: return rc; } =20 @@ -668,19 +659,15 @@ static int vsc8531_pre_init_seq_set(struct phy_device= *phydev) if (rc < 0) return rc; =20 - mutex_lock(&phydev->lock); oldpage =3D phy_select_page(phydev, MSCC_PHY_PAGE_TR); if (oldpage < 0) - goto out_unlock; + goto restore_oldpage; =20 for (i =3D 0; i < ARRAY_SIZE(init_seq); i++) vsc85xx_tr_write(phydev, init_seq[i].reg, init_seq[i].val); =20 -out_unlock: - oldpage =3D phy_restore_page(phydev, oldpage, oldpage); - mutex_unlock(&phydev->lock); - - return oldpage; +restore_oldpage: + return phy_restore_page(phydev, oldpage, oldpage); } =20 static int vsc85xx_eee_init_seq_set(struct phy_device *phydev) @@ -708,19 +695,15 @@ static int vsc85xx_eee_init_seq_set(struct phy_device= *phydev) unsigned int i; int oldpage; =20 - mutex_lock(&phydev->lock); oldpage =3D phy_select_page(phydev, MSCC_PHY_PAGE_TR); if (oldpage < 0) - goto out_unlock; + goto restore_oldpage; =20 for (i =3D 0; i < ARRAY_SIZE(init_eee); i++) vsc85xx_tr_write(phydev, init_eee[i].reg, init_eee[i].val); =20 -out_unlock: - oldpage =3D phy_restore_page(phydev, oldpage, oldpage); - mutex_unlock(&phydev->lock); - - return oldpage; +restore_oldpage: + return phy_restore_page(phydev, oldpage, oldpage); } =20 /* phydev->bus->mdio_lock should be locked when using this function */ --=20 2.43.0 From nobody Sat Jun 20 17:35:30 2026 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 938E737C0E5 for ; Sun, 12 Apr 2026 14:00:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002443; cv=none; b=bATuVMKUOcHL/ntwP42lDdiqZGTwlft+AFNRXWuNKY5k9AZzrjLKvBcmYkSX08X2Pb+lt+VwxMsEpuMgUDQZP6EnbOp/6foWOV+hR89n0nOGWdNvXAXNmUS8l0rCOm/opCyoqTP24XJ98ULlEdq5MDjQxzxkJ8dceA1Wcjj5vvc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002443; c=relaxed/simple; bh=O65OagGdcA16yR+KSOfnD4PCfCavizX1V42BiBKUV8A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MDClS1UdhIBmYt9J99HVmK5bKy4NJomIyJIvYwTKA0IqQ0+HvzeyU4rRlZqeP8d9YuEgAKg4Z87592lwibSPTejWf65Wrq3ZYUe/LdNVZYD32ORmEcmLu+yJdrg9q5wCs6oEvgRP+zQ68/f6dUgf6g2BLEN0RPJZ6+ceQxjKIV4= 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=aUff0ua9; arc=none smtp.client-ip=209.85.221.44 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="aUff0ua9" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-43cfd96354aso2045607f8f.1 for ; Sun, 12 Apr 2026 07:00:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776002440; x=1776607240; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4Y8BPxcQ6465X542UsdBcHUWpSqQuKocfLy0RhQWsQM=; b=aUff0ua989g5wLFcLWbqU6i8o3EiBg2BuKQYse0W5uylFQg4fDJEwjFSdNABw0JEKW uSTHzvi8Uf/6c6AgB64pEgW0id44P55BAIPH6QKJ633+w5kZiGu/enV6EQLkwTKazmUW Krz5UCrzSPvEljOVXDmOEHAryrAMHRton603+xeCnenFvCQB6H1onR4poPX7IwUFvek2 IsalReChqGe2eSAkmcnL9dXjlpVk7mabC+L6oXhNrqQy4ATM9bupVO4WgVRReI0i5nQz +CxV0LcLcZghuuq0qRSojspnP+iaJYTLOJvLq0gO3c2HybcC/hMpyOcggJB9LX0Z8ttb brNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776002440; x=1776607240; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4Y8BPxcQ6465X542UsdBcHUWpSqQuKocfLy0RhQWsQM=; b=GbJYhwDBXRDUOs/v5nQ5/4SIaevkQJHL1d2YjRAXT6aol6KQe96BaXCW5r6pde0FTP n1ebwGnNyNTaZaWzv7FxSVnD0FttqGegpHpUKRZlsGBhb77VYh6VlqbyrNfLbArv1PzS RsN7uoFATsX6f6tDW35B2LOPVxOKoJqijRhNuDL7kLhiuwIpzPnSypqyQWbQIJbGSh6R H+9DTjzBJijdoYVrZfAxNh6lOCOxeyY+6QUJYNTH75+8b4YiOoRcLd8aJQetkUJDsb0K onvtL3gMVBj75HTZ+hdOQ0zVWY55ufktm1ww34qPjbqJHHEt6wOeOm0m0QoEd2hIuJyb ZwbQ== X-Forwarded-Encrypted: i=1; AFNElJ9L8FHyrhvHjY9yalDQ1upWH6kKQBYV9Zpq6FgsGdFRHUEOjC2iwQn0rZqJzTpbTOVnr4FziAcfo3ZhFMs=@vger.kernel.org X-Gm-Message-State: AOJu0YzU4ejtRy/ydhcVrDBnWUAsy+SZrz8so1JocEd/k9WlFSB/4dkv azJwdGlVyAQiaNFubXaOv3c4FNfaZVbRAZ4gs4B+J0VRc3jHyTeSwY3W X-Gm-Gg: AeBDiet5KLOXRTpqJdCTDORUDzS3GHgAj51DcYJk+oXI7fIakX7Yj4/LvC/BbVWW8ie 9MUGnD4rU8d1/gRfF5N8EVYbSxG0az08g7WeBvCuD8/du2byz7sHaQglr0fSDtECVKUgKCpscUb kylYFISv+qOksdWWUaRzo8UZ724Br5dSgSDouqT9XAdc2MmhUDT4mDBTGp69gvYoYlkVHfrY4hM kgG+cn3G50ebf6nu1W6g9Bwoo6LHTMGIqlpDEi1ttJVMt6ERRS0HjNyyHltnq+75TFqQqUjyh3z ZZf7E5tD7MACBEPOFA4D6bNMewXBWHMIhhVLsahvO5iFD94fFETbJtW6Pxm3ovY1duOqq7DTPpO hli9qfO6Yl1/hCAYTAJesu3ZnKbj1lNa0Fl9Q1vYK21D/qL6kBJSlVfSgCcoPahzgaoLYzJfrBF lxP+SAvomgwJ9Hqrcs/Di0s1jebWbuiel4AvkSKGq0Nq+cHZ8O X-Received: by 2002:a5d:5f46:0:b0:43c:f8b4:e58 with SMTP id ffacd0b85a97d-43d642c088fmr14267673f8f.41.1776002439898; Sun, 12 Apr 2026 07:00:39 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:6956:2074:5220:4650]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e50015sm26127538f8f.27.2026.04.12.07.00.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Apr 2026 07:00:39 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Arun Ramadoss , Andrew Lunn , Heiner Kallweit , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Biju Das , UNGLinuxDriver@microchip.com, Russell King , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Prabhakar Mahadev Lad , Biju Das , linux-renesas-soc@vger.kernel.org Subject: [PATCH net-next v3 4/5] net: phy: microchip_t1: Replace phydev->lock with mdio_lock in lan937x_dsp_workaround() Date: Sun, 12 Apr 2026 15:00:26 +0100 Message-ID: <20260412140032.122841-5-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> References: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> 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" From: Biju Das lan937x_dsp_workaround() performs raw MDIO bus accesses and must therefore hold mdio_lock rather than phydev->lock. Using phydev->lock here is incorrect as it does not serialise access to the MDIO bus. Replace phydev->lock with bus->mdio_lock, and switch the phy_read()/ phy_write() calls to their unlocked __phy_read()/__phy_write() variants since mdio_lock is now held explicitly. Signed-off-by: Biju Das --- v3: * New patch. --- drivers/net/phy/microchip_t1.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/phy/microchip_t1.c b/drivers/net/phy/microchip_t1.c index 62b36a318100..afb4e8908b78 100644 --- a/drivers/net/phy/microchip_t1.c +++ b/drivers/net/phy/microchip_t1.c @@ -337,9 +337,9 @@ static int lan937x_dsp_workaround(struct phy_device *ph= ydev, u16 ereg, u8 bank) int rc =3D 0; u16 val; =20 - mutex_lock(&phydev->lock); + mutex_lock(&phydev->mdio.bus->mdio_lock); /* Read previous selected bank */ - rc =3D phy_read(phydev, LAN87XX_EXT_REG_CTL); + rc =3D __phy_read(phydev, LAN87XX_EXT_REG_CTL); if (rc < 0) goto out_unlock; =20 @@ -353,11 +353,11 @@ static int lan937x_dsp_workaround(struct phy_device *= phydev, u16 ereg, u8 bank) val |=3D LAN87XX_EXT_REG_CTL_RD_CTL; =20 /* access twice for DSP bank change,dummy access */ - rc =3D phy_write(phydev, LAN87XX_EXT_REG_CTL, val); + rc =3D __phy_write(phydev, LAN87XX_EXT_REG_CTL, val); } =20 out_unlock: - mutex_unlock(&phydev->lock); + mutex_unlock(&phydev->mdio.bus->mdio_lock); =20 return rc; } --=20 2.43.0 From nobody Sat Jun 20 17:35:30 2026 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 9F74437C92E for ; Sun, 12 Apr 2026 14:00:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002444; cv=none; b=pOqYq8ourCa/W3mBuSeJik5q7hJDX5J5vS89o6Gz4NgesNYCVcPLyffnlGVZbhf4mFGYzQBArM25NLC/1K2ksK6MmAEXgfaHdsGy05souqxmkcUjCh1v+VWGLfr64hPeLxyfK9zet24kPSA96TyHyVxp1jikrkt/vfbUO/XSGBo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776002444; c=relaxed/simple; bh=zcEQ344RiBm7JrfsgTgQ4Lp6CjbZtUDRo6ogiL5TbHQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SdOJf+aDWYJ/Uskn/g97UQkSqEANi45wjd9MfvmAqxcuygc3DoCbJ05LF8yiRM5pGsIWsUzd7SZ6YYkmtu8LoV8UrjMaoTnhx6oktepNalAxzZwzLd11OilEeyy7Mb4bzG9uhHe/bXPzZic3qwHylUiWh6kswWVz9fsF2qao0aY= 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=mGpQaASC; arc=none smtp.client-ip=209.85.221.44 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="mGpQaASC" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-43d72875729so286344f8f.3 for ; Sun, 12 Apr 2026 07:00:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776002441; x=1776607241; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cNQ4/Bgols+4vK0uVdE0kuKThLWN9Gx/3rmL3xyL0Gc=; b=mGpQaASClSZZdW3sshx72H505xOtSaza6rn+UfaUh2aTggWGRAJRfY+vTSxOGuuxZY B6GOXBg+CcxaXmk7YkT6vy+d5Ms3EFQX4GoLtYeZg8EH8KgoLyPPDFDXolzzSbfNSXrZ upuvIPMVjnsJTu9XNPmD2K9JftY6pdro0I4j2LasfhE0bivVOnEWYIEGpnBY9o+MFc4j Z35+8gJuHvVQCJOSOPIwTRED3MhynjnpW8rSGAqTfciFNSOj3nX/1NUEuu/9gG7oj9nE nUMouj/iQjrYpojI7ta/D62+I2x+jOcUKoLUbtdfpLBWZS2U2jgmKyfSfvFa8eaHo6Q9 lfIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776002441; x=1776607241; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cNQ4/Bgols+4vK0uVdE0kuKThLWN9Gx/3rmL3xyL0Gc=; b=SNLEmOSVRdX5dyA3dEIDV4HHLZEJYcSQz1p6aVFdd0D0XVCMLuSrYxGZJMgpTNMbif /2ym2XVHyMZwx77/2RK6+WKLntejfbYKHDFzsdcj8N1brTaatVHHDVir1VHCeRMTMZZa jEK6EAyU8cQWnCD9St4Hs//3uhpU0wy4tiH2b8VHIO886LE5M3UbMLFWbig5CmoMSuQD gkfuOoIP37/VY78eG8i1onFtR5Sym9ActfZXUpWuk8PR5T6Wuz3jkrDeS5e9p9JIpV0B WCKUVWeppnRsbwsaAXjWqh7s51hbFaLuBHf6Lr0HGrhCI5TND3EElsCgW+/HQ86ZjhHW ArKQ== X-Forwarded-Encrypted: i=1; AFNElJ+UTsvt1vz+K4P7WrKcxNigefg0DT24G4maUzxuoJ+Wev1phZtcJWddL73oC61XqvVmNhad+yH9QpDKIjM=@vger.kernel.org X-Gm-Message-State: AOJu0YxVAa05fngF2Jv34CxVSPVl8Bq00Lr1FX2GThz2fGD1M+X385c+ mnSqEETOQdP20xbpeRkXrB53nCNGHMEtGuUqBZxL71pqx5kVrLOQSrMR X-Gm-Gg: AeBDiet1tD1Tpsa6vqtdSymcTy9zUWF33l9FDGtaeljvtF/0/T+ebqhMQBfCh8pqVSq fx8il7QFeapF/ooNvBfU47dHRaOBEqX1fR8MgPexmHWbQgxDv4JHkH4DrTupfZ0k9e2tfjCgM0Y CD8aFLbciyhErtqXzFGGMN0IzKszm7GNfMdPUZu8oEFbBD+aPWx5EWeZhE3RmwnUm/H2mzdKHpP zrdnfGUsGN99kfZfavOgPFGqbtiDthBayFPcdVc0u/XgpdyWGrfOB06Y/GdGePL8F2fwbZEGFu0 TJdzIeo8Che5dZOQ0eAselTLmZaM22nJuLkWfFzkox0G29f3e+sDVsARt3Xrlth71PQ0ZaTN/cy Bd5jgF/lDtb6zksD0QqNQ43uKt+IPTOTUfeshrwqYHVWEAJJCkPnx/KYAZZHL2p9o3OOIZ41cYQ ObJbMgeRPoZhP8iE1zPd7UHBupOT2ewz242Qa6pRLHcDlisRk8Uqur66iQZxE= X-Received: by 2002:a5d:64c8:0:b0:43d:76b0:78e with SMTP id ffacd0b85a97d-43d76b0161cmr2231826f8f.14.1776002440962; Sun, 12 Apr 2026 07:00:40 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:6956:2074:5220:4650]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e50015sm26127538f8f.27.2026.04.12.07.00.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Apr 2026 07:00:40 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Andrew Lunn , Heiner Kallweit , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Biju Das , Russell King , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Prabhakar Mahadev Lad , Biju Das , linux-renesas-soc@vger.kernel.org Subject: [PATCH net-next v3 5/5] net: phy: Move phy_init_hw() from phy_resume() to __phy_resume() Date: Sun, 12 Apr 2026 15:00:27 +0100 Message-ID: <20260412140032.122841-6-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> References: <20260412140032.122841-1-biju.das.jz@bp.renesas.com> 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" From: Biju Das Now that redundant locking has been removed from PHY driver callbacks, phy_init_hw() can be called with phydev->lock held. Many MAC drivers and the phylink framework resume the PHY via phy_start(), which invokes __phy_resume() directly without going through phy_resume(). Keeping phy_init_hw() in phy_resume() means it is not called in this path. Move phy_init_hw() into __phy_resume() so that PHY soft reset and re-initialisation happen unconditionally on every resume, regardless of which code path triggers it. Signed-off-by: Biju Das --- v3: * New patch. --- drivers/net/phy/phy_device.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 4a2b19d39373..16fc2fc63c50 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -1999,6 +1999,10 @@ int __phy_resume(struct phy_device *phydev) =20 lockdep_assert_held(&phydev->lock); =20 + ret =3D phy_init_hw(phydev); + if (ret) + return ret; + if (!phydrv || !phydrv->resume) return 0; =20 @@ -2014,10 +2018,6 @@ int phy_resume(struct phy_device *phydev) { int ret; =20 - ret =3D phy_init_hw(phydev); - if (ret) - return ret; - mutex_lock(&phydev->lock); ret =3D __phy_resume(phydev); mutex_unlock(&phydev->lock); --=20 2.43.0