From nobody Tue Dec 16 13:26:12 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C601E7B5F1 for ; Wed, 4 Oct 2023 11:17:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242233AbjJDLRf (ORCPT ); Wed, 4 Oct 2023 07:17:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37838 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242209AbjJDLRc (ORCPT ); Wed, 4 Oct 2023 07:17:32 -0400 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2074.outbound.protection.outlook.com [40.107.21.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4F83AA1; Wed, 4 Oct 2023 04:17:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K/BohecXWzD877Bc1yhXEzizt6UMX7BIYl331jZHWfXkLTpb2cvpqga77jRtG98pqP3sSX6BNTt6plJYYr3rinKCXfqHF5Q3VlyXqrLMWNy9FxEa6GBKZMfb8p6yOzTRV0zWqj0wir3UvFrwmsMXwgmHZl/C7FbkiWJVQ4XUWb5Xh4RtqKtpauvHFaUZH7Nqlkarze9eKOhWyNLaSO3gdudOJq9lIckq/k8swWbxEWYqyHVqOYTJ8DAy2R4gj5dOwYTP2RXWr7N6NJPSip7Fi53JqD2HX8CuGFSfsfs95BoDpNV4HCgthVWLuAldoUBDPeu77L//KzcTfBx588zQnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xUhszzw6Eg8/yiEvcOL9JdV3piTNEWQts4rWeH5019c=; b=dnD0idSYElkKUzPIv8OBZZQF1hASYR9+s4ijm2mg7rGxPxjbUT0Z1cct996eVRWgrrTKnp/iLNwaS3VAn7HHWD9pvUjHKX5uzwHozosvrt6roXO1/FPny+Qs9tPjpthUTdfQtVqCrkOmTE69rjQwxq4LUnEHmg9bInHnkBSfZIQOu8ytcYC2J1jdv0l7bXDgJAMxVeXItn+JVLEcOGPHkyQoJWKbH5/YhDsq+Th3L5NPTdJc9hVOH24/cJpi/VpIq8XRB+Hy5P6L26h8TcPgUqJcFAoeE9ap/OcVDzc/j9l0iKx10ejcTa/Wk5Vy9NQz0Ybuq/61XiNs9AWsGYiz0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xUhszzw6Eg8/yiEvcOL9JdV3piTNEWQts4rWeH5019c=; b=nUP9aLESNyCFYv5bKxl06OuOfqScGfGvcl6FwrMflXf4b+qaqFgaMiSdQ4BvfgqqJXxDjIpt8i0b+L9Fg3HWjJB/pTIIf/e4COTdK+wZ/2vKRsr1hVeLCvGEz300NPCMsGZC3aSiZ22TvbBCMgMrNJI0zjF1vkI+ldfDK9bAyZ4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PAWPR04MB9911.eurprd04.prod.outlook.com (2603:10a6:102:38b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.36; Wed, 4 Oct 2023 11:17:23 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::568a:57ee:35b5:e454]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::568a:57ee:35b5:e454%3]) with mapi id 15.20.6838.024; Wed, 4 Oct 2023 11:17:22 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, linux-phy@lists.infradead.org Cc: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Ioana Ciornei , Vinod Koul , Kishon Vijay Abraham I , linux-kernel@vger.kernel.org Subject: [PATCH net 1/3] phy: lynx-28g: cancel the CDR check work item on the remove path Date: Wed, 4 Oct 2023 14:17:06 +0300 Message-Id: <20231004111708.3598832-2-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231004111708.3598832-1-vladimir.oltean@nxp.com> References: <20231004111708.3598832-1-vladimir.oltean@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0119.eurprd02.prod.outlook.com (2603:10a6:20b:28c::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PAWPR04MB9911:EE_ X-MS-Office365-Filtering-Correlation-Id: 7cbe6c47-8158-4e8e-b311-08dbc4cb7b3e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RFts6I4np5M/FYzNxzRVgKNPyeqms3AZpb+JUL6az0yjK/gPxZNX9zHnsusvWEDmgYLwoh+5D9b8i6rinqZFf8pNeics1FSp5CkAUqYf2Dtng29ictLRVlcqbG4sZTQSx5n/FgntcyZzRvUHvBrhjDM4/aHp4dUKV8a3cUpxFw6TFtLtI9zQh7NtLdduxX8K9jBlo7FbevEtoUHvZmJdSyn5PYRST/pPr0kHXNH8So21S26qLXZyFsEj3sHBk8cdyCjxuW8/XwPY0BxMHcQ82iSAn9D6a9gf66qysZKusFOz6RGTIR7gIwXNtEHY0DvHpLfFC2wwkOV0E6PbEuGZzV0N1fYFXwcKdn6UorjEb8rWYk4gdizCL3X+2SXYI91AFoUFS4iVUIhEBffbQ3pd6qDCgXZI7L0Vxg0viWR5opzFLv1NvV0hVm5YBMUraECXmSdQgU386xDMM11ZMiasr13IieKLb8mUELhvau1APZ+r5OKbe8bzgS/hTEpvIxvKTtbI5QMgJC8xREY3p7xX2d3XTKXJLfIQR+/PhJop4qeCOoV7B1aBpZpmsEW1cKNM4qJ9yUcQH6xXFIQ1BZL5KjpCxbZppsSbhC0IPNKz8JA3WBr6U1kmNXtRgOIaRFWC X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(39860400002)(396003)(136003)(366004)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(316002)(66556008)(66476007)(54906003)(66946007)(2616005)(1076003)(26005)(6512007)(52116002)(6666004)(38350700002)(38100700002)(86362001)(36756003)(478600001)(6486002)(6506007)(2906002)(41300700001)(8676002)(8936002)(44832011)(4326008)(5660300002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iRWMAiaLYadNca8S5A/VqBGrsHLHCBy8h/JeF9sF/iL2sJBwcWpzSHzs03OR?= =?us-ascii?Q?4Rw9qix2JIkWdxGuA6kl764KyBPlr9ljS6Ojg0X7W8n0ZVVEZXmk9MNGqCrV?= =?us-ascii?Q?UnXy4KRO55lbkqbrSRUTWtsHdeiQuzgh5c5by32PfaJ8GmasKon69u4wSZaJ?= =?us-ascii?Q?cASjgYU1uEiurMwiK+uLSTsSVU5/W4kWG/l+DZuoKCZin8oKmG421PNLRLi3?= =?us-ascii?Q?qhDwjZy+Wt03MYn4PYPvWont17ZcFoOT7+kA/0ydMA/Z3A4pF/InIsISst0x?= =?us-ascii?Q?0H+32TnsQYnplJvDUJJgmXdjh62ZE+EjXzthYUz9BH8a59CmrWNKA6Rs5r/P?= =?us-ascii?Q?TNvpe69ZCwKX9cv3bTrB8lNG40jFNq3+dbJTmIct5UAx+w7LsA91gkq6yOJh?= =?us-ascii?Q?D74PocVYRahV96S7uCQjTOg/d5fOh9tv0xmGc1D45FnO6OgSEb/wRxao6Rue?= =?us-ascii?Q?Qx6sMeKFXmxJMqW+HjFH3X2IqZLpodOZXeoHwugZi8G2G7IS8GBi1VnRcsmX?= =?us-ascii?Q?v5vj/LchbvhLMUJ7WVmc1x0oq1/1tSWGADYNINi+5Ktf9TnLFEt5l5SNmkX1?= =?us-ascii?Q?pHEiWksem6PZeTdJmG7ZD4uy/CiM5awGl4jyw8qlS4u5vCPrPL+061yppl0d?= =?us-ascii?Q?ydxTulxTjK9yfD6ZPheOaO+JRvwQ1pkuq8dFmyrMG2VYwlcv17GHqoPVGmJF?= =?us-ascii?Q?VXP+Coim8NY+Rgc/sLLoa/meVo94Dd8hwPB2/amThcjtUJwd0rD7Ip3NujiB?= =?us-ascii?Q?gcTEpD3UpJKNPL1WpFyFMAddxWJQrhbfsEwMPe7fNfR8bAKxvvFFT5+rx/KS?= =?us-ascii?Q?2jY93ueDCbxEJ2G6kuwrJLJkcK+yfhYqQ+5NohH06SI/0coqeKtx1ovdT43Z?= =?us-ascii?Q?lReR4wZFvXqm5/NOxZegJkv6eVhIc3cxfjsIYGRg+HX4Q/9JBRPKnGjPlv0n?= =?us-ascii?Q?6fRe/0YThlPIu1LbcupaPJZBPwET7ZxtBIuUoV9OZ+sAl+VFrXRgyXru/D5Q?= =?us-ascii?Q?4Rj55TP3vTqvO5vRfd6CR/Apzp33SLCFomgYpLlXEtbaNNd4NjuaHmKFlF83?= =?us-ascii?Q?M+0RaomIhWV9Bq3RNbesucgFfGqiYTQl1RnTIZFWWxYmqFsrXOnWw3IuOwtv?= =?us-ascii?Q?oOpc32WJ2CuhX5OMF1MKxDt0mPjK23nVXOlf3Vdr+nM0aW0AvbWa5E5p0nTA?= =?us-ascii?Q?JjZ24Zx0hB82giThhLBcPx4Feepu3W7jRyaUWJgQNUf8KQ+ABGZrTvWYu4XX?= =?us-ascii?Q?hpNZXexsg1dQgad2EM8WblCARHtK6awQE33dKeRrVD7Zcg5BW+5c6Oj0el1Z?= =?us-ascii?Q?tA4+0z+QDLWXdAmfKeTZ6mhtFSIohOp0KrexpKH/r7+N8POL6LP3pL7hlD3V?= =?us-ascii?Q?tYekV+GImTQvOd+aa1XdAStOlgfUrj2RDwomsh8mjooe6/lEcdfdNU2oHTBQ?= =?us-ascii?Q?HPTbqWZXMxbsFJyJHc+5pglv7ozY/5B7VQAI84X7WRA7qF+0SyAVM4exDrm3?= =?us-ascii?Q?Z62I8pQun8CF1kZWFKXlEVBn9SQad3/EPkn+ZPQ576nAvsKQeFKPOLmEnvMo?= =?us-ascii?Q?4zkr2jcxS2Eookc5aScO/ZXiKJ3XushEeDj2LpGfF71hatj9yjGO17QfXMgH?= =?us-ascii?Q?5A=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7cbe6c47-8158-4e8e-b311-08dbc4cb7b3e X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2023 11:17:22.9544 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5qPGDykns/ZwvDUzJ/t6RQLDe3pM4sBfSQ8vuHMuyoZfrvJmDaHyCqe/tYvEkhzO0SoVUVPJC0ZaXIGlYEDDPQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9911 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Ioana Ciornei The blamed commit added the CDR check work item but didn't cancel it on the remove path. Fix this by adding a remove function which takes care of it. Fixes: 8f73b37cf3fb ("phy: add support for the Layerscape SerDes 28G") Signed-off-by: Ioana Ciornei Signed-off-by: Vladimir Oltean --- drivers/phy/freescale/phy-fsl-lynx-28g.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/phy/freescale/phy-fsl-lynx-28g.c b/drivers/phy/freesca= le/phy-fsl-lynx-28g.c index 4f036c77284e..c6323669f119 100644 --- a/drivers/phy/freescale/phy-fsl-lynx-28g.c +++ b/drivers/phy/freescale/phy-fsl-lynx-28g.c @@ -604,6 +604,14 @@ static int lynx_28g_probe(struct platform_device *pdev) return PTR_ERR_OR_ZERO(provider); } =20 +static void lynx_28g_remove(struct platform_device *pdev) +{ + struct device *dev =3D &pdev->dev; + struct lynx_28g_priv *priv =3D dev_get_drvdata(dev); + + cancel_delayed_work_sync(&priv->cdr_check); +} + static const struct of_device_id lynx_28g_of_match_table[] =3D { { .compatible =3D "fsl,lynx-28g" }, { }, @@ -612,6 +620,7 @@ MODULE_DEVICE_TABLE(of, lynx_28g_of_match_table); =20 static struct platform_driver lynx_28g_driver =3D { .probe =3D lynx_28g_probe, + .remove_new =3D lynx_28g_remove, .driver =3D { .name =3D "lynx-28g", .of_match_table =3D lynx_28g_of_match_table, --=20 2.34.1 From nobody Tue Dec 16 13:26:12 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4A9BCE7B5F1 for ; Wed, 4 Oct 2023 11:17:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242240AbjJDLRi (ORCPT ); Wed, 4 Oct 2023 07:17:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242232AbjJDLRf (ORCPT ); Wed, 4 Oct 2023 07:17:35 -0400 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2074.outbound.protection.outlook.com [40.107.21.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7EDA6BD; Wed, 4 Oct 2023 04:17:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R8UCVZOFvUKoYXB9Uk5myr9iJOf0vvb9mSOjvszNXhS8g0DpxJyxh38qy67IPLaErsmPKpuVMWogZVRLOAQmSirScnbDjYP5bFZRAGYspez752v6r2+/1E/5g3fYwc/UPHv3K33/eJ18B9Q3PMxhUpzDXtvme3EnIxGcenoUEqqOSdP5N2PjcD2riS6LSirF5QGxulLFAvaikTnALrOXe8MI4V77bzq0rCODukEgCJMSdDz/79pAcI0D55WjMWFzkqC/+Egl8NMPkptQNBWt3PO0vPkV5QaEthNGTbJLtMhP9Gri06J6hOQMoErqlMPgdh38WBsY7Bva4Q7+QqJe4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jGoIo37IfSbBawdoyVc/JL0/ZWGDg1A5XpIqUx1V/PY=; b=SQIdVg7WMVkRmzMqdn6hq3XUK88MvASMYWxoFJ4A6IUvuzXF4fQc+y47L7R2DvyTfbui/Nrli7Ue+bCuMablREl5a1LWd0xA3q4b3QcQd/63r4kTqumvb1lbV9MygQLiG4ejbIzw88x21Z8UvhKgIXcwmeZ5XwtyV+/idJ5W5juYMC+z7ledyU27VE7b7TEhRU2n7xUFZpd/UbpGReog5SXCobXvzJQ3OHSz4bf6fjoAMcsNLaoFZmQijonvPngS6m5LlmKOcKZdV2p9dLjLespfDXuVkY6L/1we+Z/SqSoghTZOc5po8FUJQhWxb17vTZ4kOMcBveEbg9VjEq9y2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jGoIo37IfSbBawdoyVc/JL0/ZWGDg1A5XpIqUx1V/PY=; b=gQfIlXhI5XBFAZgWZ62JVwta/cXPvZs7DdkRcqNqg4+/P3pKrVxcp/3RffQf+nX6H1a6Byj4DwNhT7PDmO9XCbMAPwd6vumnUsQCQ2xjGWjsEweYyt/t7qu3WYdzKs1DrLENZTYmpXtTqAXt5qm/WPhOMktQaoP6nCIFVF5AB2M= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PAWPR04MB9911.eurprd04.prod.outlook.com (2603:10a6:102:38b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.36; Wed, 4 Oct 2023 11:17:23 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::568a:57ee:35b5:e454]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::568a:57ee:35b5:e454%3]) with mapi id 15.20.6838.024; Wed, 4 Oct 2023 11:17:23 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, linux-phy@lists.infradead.org Cc: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Ioana Ciornei , Vinod Koul , Kishon Vijay Abraham I , linux-kernel@vger.kernel.org Subject: [PATCH net 2/3] phy: lynx-28g: lock PHY while performing CDR lock workaround Date: Wed, 4 Oct 2023 14:17:07 +0300 Message-Id: <20231004111708.3598832-3-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231004111708.3598832-1-vladimir.oltean@nxp.com> References: <20231004111708.3598832-1-vladimir.oltean@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0119.eurprd02.prod.outlook.com (2603:10a6:20b:28c::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PAWPR04MB9911:EE_ X-MS-Office365-Filtering-Correlation-Id: 1dccd4eb-9bb2-4b9f-c045-08dbc4cb7bae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eXC4MJrVnvaSlIppsm7Y/XVu7o5IDxzjDQtSqPq65+/kxHG5fVX9CELROo9p0oMqiukiLuV9InBTzkFRDKl5geyG+8UNw7sTtLC3hDBgSKLefiV+PFzO6I9GvQBU1UnWSXdi56OyJ7FHCc/xCJFA/hlI59YoEGKzvbN0AnZmX2M5m4pKARAb9nkcGN4WzpvXtqEP8YPhyFcU725A2KDEG5rIxI14S+0tGbchT8/Uqm52PiL1v5LaanndK1vYa2ZRJtl1hOjQnjJjbNYP64xeJpLI2T1w4PVPRbCE91QIV6GIwPHls7LFJSg4kGH740vLfjIx+dPBpnBp9ymmOQw7zuvr8hPBjamFqcZFGWPfvv/pSDPePHy0YTggYfW31A1tyG/otVmU/hdkRmDE0zGnFq35qQEsRQSfGcIayKPHkri3q/eeCtTgbHbZo70lnorbZ4WGI9cp19+N+gMkax9l28b1BVuwNISvl8j1QATFbB1T/aiy6TaVA54mhbMCD87cOKxxQgSapJwdN9QHga8DjxukbeeWRh5WFZtnXn27rBJNrcWBwCbLqZn/qTKzUfyLRtiCTD5TkaYSS6rRHaBlN180w4Zkwdaj+prfKofTIFuy2TGogw9qrYvHmtvFHzFU X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(39860400002)(396003)(136003)(366004)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(316002)(66556008)(66476007)(54906003)(66946007)(2616005)(1076003)(26005)(83380400001)(6512007)(52116002)(6666004)(38350700002)(38100700002)(86362001)(36756003)(478600001)(6486002)(6506007)(2906002)(41300700001)(8676002)(8936002)(44832011)(4326008)(5660300002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?hHb1q8UcVtq/gk1mxoILJT5FqqSqdk02ziMUIYnq2h5D7t2vnvMtxbIYt9St?= =?us-ascii?Q?Iz367iNqteE8wXgJa1d/ZKbYsyuEqFjn9OtRyb3Wt5PNjTOtAahPK3PGy5li?= =?us-ascii?Q?p+C4Y9e2FHqi4/dnLslKIO6bZr9YoKYdI1XW2QJ04MQkvZBXEL9G+V8CNwJ2?= =?us-ascii?Q?t+2azDDy31TIXY2G8FfM8EOLfyAUla0lKA/Kh3JFvk16xghvJWx4aeOHxNz1?= =?us-ascii?Q?ktcYrrPEVVA4okdKDcVaDpxex1OlnJ2o3oFBSzteL51e2R6Cv2rVnvuiwLWr?= =?us-ascii?Q?xNu8rx13H5ydMJyKbVh6uIRUZK9qCgQRVTD6aJXBuAJ2XR74JS9nspRXMGQl?= =?us-ascii?Q?cumSnia1xtd5wvD7tviiETqn7KubSgr6SmrWRFw0ivv4sBX/tsF5Lhw+Fj2q?= =?us-ascii?Q?0487cehYMOYCUytCVK/6oppB/5gCExIlWHaSYtYvH9gOB6z102yAByPK4EkT?= =?us-ascii?Q?0An6V7UqC0z8lFtsCCXxjDcXqwFHZ879Db01mMEHj/XiF+cNd4VKsOF+vCbg?= =?us-ascii?Q?/G7d/iihansvPVAotcQyo9FvYnIyqwhCYpzrU06jlpOUuUe5F6ErBIAVkTBJ?= =?us-ascii?Q?+xjbWjD+JFzmz1jtqLYJ118KcApr9m070lYJ7dNdCUXQsA+nR+tIbYLgk/JH?= =?us-ascii?Q?Av9W65/JwKJr1CYG2K8CIjHbM3PNkGpW6LI7uyExbn0/2NRYv+n9TLZ8hPtO?= =?us-ascii?Q?3xeoSJCk1zoGjMnYmTLBuntEKgNk3Y9oc2+BtTpKHkxkg3t8UxjvxQej+FNQ?= =?us-ascii?Q?FuQymzViSzFyZdeMLAWYpVJY4PmeVv/A3darebdTY9e5rEkyl0gxMbImtXuf?= =?us-ascii?Q?UZitE+PlEBu/57+hMs8a3bTVzQJb2PORfI2wtBwcdlyyw0QWuxPnMgqPiNog?= =?us-ascii?Q?QzE2WA+GjO9SGjzJJNdJZddt37INg2HivUYNJZB86YyYXuIOgR4x3xEOakar?= =?us-ascii?Q?qk7JGbeJm537i3pXD1lSTOFii/WwbjBaAnss9p9zvI+1kHp35SMhLt2J4FTN?= =?us-ascii?Q?MnZViBjtTtkw6w9ewzZU+qUK4I5zsheV7HrAG0SNwj5HBvXTyEPIiVdYCclL?= =?us-ascii?Q?yKSDQNpn2eY+7BI/sXt3qIEt8fg7tn70NP5glYc2w8gRrLbHJ7fmP67SUj4A?= =?us-ascii?Q?Ks+BDTHcsShzqsVqDBbKy+trLBBDXDrLSg9hcDCTCVvnP6qnZiXYSudCbRiF?= =?us-ascii?Q?VcGKaYDPMocWEkMWIY6TrLqYXQzEytjjh3KCaH1kP+chtOui+0PghMYpsM+x?= =?us-ascii?Q?fWmXq0wa3ygS4DC/zs874lQwrEKQXRzHKb2W7UAiDm6YnsRVMd2+aWHdxumo?= =?us-ascii?Q?O4Kkmw/XXFvJ4owcYsFAgO3uPpFdrvtzmP2sSwZhDuQUCBiBNVX71fbbNzlx?= =?us-ascii?Q?SoqeofJGpr8dOqZF3kINKdHaZJeiw+A7cCG50u14bgxLqeCskfspGELUBjO2?= =?us-ascii?Q?TR4+4rv1OxCPLHVfDqIWbwD9Dz4lwcSQpg5y+kx+5i12gSZkHfhOihP2NIeV?= =?us-ascii?Q?GzwFtbnxp9lxtRCAmzyjsDpTVxh3ZptbUn/FPBjsIU4PCLIRReh+uenR06cQ?= =?us-ascii?Q?BaA9fxWtM6Es6FvpaWsxPt9u8I0K9LYg5BqfggO7ae3hx1JQCpZuicPb5/P8?= =?us-ascii?Q?Hw=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1dccd4eb-9bb2-4b9f-c045-08dbc4cb7bae X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2023 11:17:23.7218 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Q+/5o+Dbrs4h5xCdQp3u6iQUJBtCoyAbDUOutHjtVYmMQ/ClMI2SzVz24P9/s9gGTVNhF5iXgo6tv6uY41NEuQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9911 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" lynx_28g_cdr_lock_check() runs once per second in a workqueue to reset the lane receiver if the CDR has not locked onto bit transitions in the RX stream. But the PHY consumer may do stuff with the PHY simultaneously, and that isn't okay. Block concurrent generic PHY calls by holding the PHY mutex from this workqueue. Fixes: 8f73b37cf3fb ("phy: add support for the Layerscape SerDes 28G") Signed-off-by: Vladimir Oltean --- drivers/phy/freescale/phy-fsl-lynx-28g.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/phy/freescale/phy-fsl-lynx-28g.c b/drivers/phy/freesca= le/phy-fsl-lynx-28g.c index c6323669f119..d5385d36735d 100644 --- a/drivers/phy/freescale/phy-fsl-lynx-28g.c +++ b/drivers/phy/freescale/phy-fsl-lynx-28g.c @@ -508,11 +508,12 @@ static void lynx_28g_cdr_lock_check(struct work_struc= t *work) for (i =3D 0; i < LYNX_28G_NUM_LANE; i++) { lane =3D &priv->lane[i]; =20 - if (!lane->init) - continue; + mutex_lock(&lane->phy->mutex); =20 - if (!lane->powered_up) + if (!lane->init || !lane->powered_up) { + mutex_unlock(&lane->phy->mutex); continue; + } =20 rrstctl =3D lynx_28g_lane_read(lane, LNaRRSTCTL); if (!(rrstctl & LYNX_28G_LNaRRSTCTL_CDR_LOCK)) { @@ -521,6 +522,8 @@ static void lynx_28g_cdr_lock_check(struct work_struct = *work) rrstctl =3D lynx_28g_lane_read(lane, LNaRRSTCTL); } while (!(rrstctl & LYNX_28G_LNaRRSTCTL_RST_DONE)); } + + mutex_unlock(&lane->phy->mutex); } queue_delayed_work(system_power_efficient_wq, &priv->cdr_check, msecs_to_jiffies(1000)); --=20 2.34.1 From nobody Tue Dec 16 13:26:12 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3030E7B5F1 for ; Wed, 4 Oct 2023 11:17:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242257AbjJDLRm (ORCPT ); Wed, 4 Oct 2023 07:17:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48038 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242241AbjJDLRj (ORCPT ); Wed, 4 Oct 2023 07:17:39 -0400 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2074.outbound.protection.outlook.com [40.107.21.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4E562D8; Wed, 4 Oct 2023 04:17:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=guD++ZG4zWg4OaiR7f5LT2tuDJ6vITr/Ng6ep3BldLAdHeJ3AEOAg+c1MSuImUfOyAiDvIeftMrVLqAdaruPyUGl3vT5Ls4bdebupz47AYycb61ssphOkygyiQeh7s/EbDbBIaAecmC1JKODKRUnFXgJZNWNI5GCWOOgq4L73EQ1WlLChqj8LcHs0wp/xC6uZL9xcAgqLOi0ZmBcTCOM8XrBGiaaF0HYFMf63fHwFKmqrrydvpwCf9TXAyd96ucHoTWPF25ZfCEDIwDpP7vwPDwNM7x+Ng5uh94dxM/QoChDLtrbgMrqdVryTLJZYT//SZf6YPUC9981J5ykMk6Grw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PfBpsr5loHx0M3PWrCkscibuUZoXkmjr3n85GaOmIIU=; b=QR6UAWQrZrn5hN5Y9XJC12E+wIr6txSAvSXF4YDu0tUHE5ViXheYIDqGiCqFJsAOngZejDH4f+vGiKcPfxoE0rFDbcEMfZW5qKOJbM6Qhq8gQRaRFT6G1VqEa0AiL1Tf5FO5GJElnTvogalfyJ5nUvvlTz8/VfdoFYjQBpPlTkuoEz+fssxERjhnUu1veofG7JGqQSXnIebvXxDGHFDs54FmRUf6yYOBImr2Ct5hMVA0fa/aGeNijTP9qnsF4Z2EIvC7H/Y6GcFCI8r+et0+IvbiQc0GHvOsvy0hs3GDVAzGxmKpRo5aCTqmtGWSdBh6iJZyn8NmZw9mVCervUzmHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PfBpsr5loHx0M3PWrCkscibuUZoXkmjr3n85GaOmIIU=; b=L+xyG6wSdpDJy8sixlUai2zkhZjWMj6JjI+Kkvbft3w005A7T1J7KLRzP92RWQLKyHULHOaWzK/wXWdffX8gQzmqQFVzkZ1P4jkhiGEuM2E53CSD4Ex1rsXwKBkJ2m56YeXsq5kONxppg+zT1qNrrovwJ/eXH9Q+X8cOIDE74nI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PAWPR04MB9911.eurprd04.prod.outlook.com (2603:10a6:102:38b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.36; Wed, 4 Oct 2023 11:17:24 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::568a:57ee:35b5:e454]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::568a:57ee:35b5:e454%3]) with mapi id 15.20.6838.024; Wed, 4 Oct 2023 11:17:24 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, linux-phy@lists.infradead.org Cc: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Ioana Ciornei , Vinod Koul , Kishon Vijay Abraham I , linux-kernel@vger.kernel.org Subject: [PATCH net 3/3] phy: lynx-28g: serialize concurrent phy_set_mode_ext() calls to shared registers Date: Wed, 4 Oct 2023 14:17:08 +0300 Message-Id: <20231004111708.3598832-4-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231004111708.3598832-1-vladimir.oltean@nxp.com> References: <20231004111708.3598832-1-vladimir.oltean@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0119.eurprd02.prod.outlook.com (2603:10a6:20b:28c::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PAWPR04MB9911:EE_ X-MS-Office365-Filtering-Correlation-Id: 347fb13a-3dce-4112-f465-08dbc4cb7c25 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Iqx81h1ug1viH2sz2NnGpCNh+45c5nYFV0HaPYmuG7cxfsGiwx7MdGbvaZgJzrmL1+Ah+bE+Wiq0WuT0n9Wfl2hURCMbF42VRJrGPPiC+Fy/lACyknWcHPQcsuacVG0s+V5HS/LmB7V20hzWQg8BZ/EjogHDHGUoFblATrecJuiaftQQ9jo0ibVr8pEPLkIGHWaGQ1JK50vSp2Lz+86tadX5KmcmKl5lUmWh+rIjN2M6suF6qZR0o8SU8JExBCmuFiPnC7x5S30uG2z4ZfgNy6LNnv47Omjfl0HlEyE7UdZUgxseT6vNI3a1g96tAtJWPLkBS2g+VaUKVbg1Qqdk41tgtJGbj7uUFMTM45DPDoz2ErVOKDoKZTR7TvnkcSWP1EhsdoqcWCDrF4APNddP/z5X4nfrAe/RWx9oxNvcdmSMeqWiyjUCZgMeOqnpwLYf9Duqipc8ZdNGVKWomWdz8dzpyb2txEwrzFfd3VCgnZNsrR0gLZXsvnQowHld2EMeULhUxJ/heL+x6i0SHzDZQwjwDBfDZ1WQEC73zL0UUJBEdgMuhFvPweWehYAZHCeORn0Qa2H2emFLs/cAF+tG/EZG0huKTFgP/3aDBniS/VLrEK7F+KcxW0OEJhi03Nw1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(39860400002)(396003)(136003)(366004)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(316002)(66556008)(66476007)(54906003)(66946007)(2616005)(1076003)(26005)(83380400001)(6512007)(52116002)(6666004)(38350700002)(38100700002)(86362001)(36756003)(478600001)(6486002)(6506007)(2906002)(41300700001)(8676002)(8936002)(44832011)(4326008)(5660300002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vK0tRTwR4ZAvrXjdv1oHJMcwWuNW7EFV9SjYWiMhiIQNLNDUETmSyEpLxbY+?= =?us-ascii?Q?DujT7DMIrpaycxEpv5Rn3Fj0Qr+AbYh6QBJSOfngXn9NlGpHg5OkbVUGtk1z?= =?us-ascii?Q?m/azMzQqcoyACVzCSfBVZYYK6OTZePydk+F2wdEq+qxyag5UAfgIsHlMx3r9?= =?us-ascii?Q?X/4HoO3etOm2JX9ImU9zMmyfRJE3PSQchSDk/VAXaDO5DVMY0j5z+yw/rBbN?= =?us-ascii?Q?Hs0u2jiopTu5TZqgIuz5sbAr08l7xieXcafKf1IP5i4dzfmEd8grcmtQXZl7?= =?us-ascii?Q?rVZnvrce5MifDu3R7ReB2oyVjWfDUhKPwJCnk6+7e0MR528eJTkwKOXq0geb?= =?us-ascii?Q?CFHgcJ9Sg9znybSj8XtcABoN+80PbLNP1FkEbC2AdmFkpBhDagLbstKv1etj?= =?us-ascii?Q?JCAh9I+TEX77ExwiNGk7LCvfRrujU+uckP9g3VCHyKvfU0oruSOU/7xaZ7zj?= =?us-ascii?Q?SdbnEDHUZ1sp6sE7KT+tiT5xLG/LApONxMpx/zNC0YUlSR6FN4z2P0ZZQDUb?= =?us-ascii?Q?Nrr0WqqhMk7wzjoAXJbuvutyBHLKPg+K0VWlNBciqPdjelYT/LO6fYoB8jaw?= =?us-ascii?Q?aFOolzvidOjgt2iENOn1QPwJ4aMXmUZFnRH42TgCaNCXv8mHY9KRneSzkuYu?= =?us-ascii?Q?ruMkkXyb94RdplHW6VdEFuKKNKKE63x3ojdjeEiRBvL9Sr+DvW/ukwId12wJ?= =?us-ascii?Q?0eDrLjPsRW7i1+rt3DVlgd+te6IOlJlcGL+NYdjJ7BnYTPjz1WT0ADBRXYRz?= =?us-ascii?Q?8glRRjA1afdrlU25ye38MBa01o++A962SEk1Rn1Nv7Z7N/SjUCGlqEocrMKn?= =?us-ascii?Q?cbcqqvZvUhjDAyeneUI0odc9qcKcf5sJuRLKdlHbZ3/bnbTCltMO7itM9TGp?= =?us-ascii?Q?fX/ow1DMfrwdFTfIAXdPViqXtD36roF7RVmr1lStmO4WvNZQBfbJ96lnnHkH?= =?us-ascii?Q?/60Ov1e4yiZ5p/GZZ3ala/kPdlZwpX0RvJ1jPtBAcN3cP853sDQA7r9thk3r?= =?us-ascii?Q?4P46eCIq27sddRE2+/b52Mw+VzIJf7Vm075J23kX3A2bu63hjOWDwJWmIot/?= =?us-ascii?Q?OuGNCMckplQr6q3xsUSz9GpPF3sknefCdlgDcP3jTJX2IfrnrtnZyMP4F0lw?= =?us-ascii?Q?VczgZkS6vUFvjTdR+SIFjB/taurtKjXBJW5hdVxp7v+UgPqO4XImZ7TDgQYG?= =?us-ascii?Q?Jex3p+qeNbrEeCmbbyqyD38rrIBhXEMr738rAYi6BWP9II5ds06vggr6Q29g?= =?us-ascii?Q?Ca9kvhZoMhw39G6LpFdpu52tEG5CYXCB/AaVB3QnmYAmCX8a33tqLcWapma9?= =?us-ascii?Q?IpiuYASRo0HW6iFWj8Nxy6QkfYiAgjisYtBjZONAY/CUziArmymYNHCx+KP0?= =?us-ascii?Q?xYaGk3qou1RU2+wgF3KFVNZcCo+C8MNyY+x9ZlvzSjrZy0W1KFT+pyJgJk9w?= =?us-ascii?Q?QuuaBHZny77F0Zrzww7tSJVRM9gDT5lKWFhCvRptAYsA+ZW4vZYCLlTVc9Mi?= =?us-ascii?Q?T3E3SbNcHXL7zkempoaJuj9XMOohsjeLkXBQtmxwAQixOxw6+ewtp5im7u3L?= =?us-ascii?Q?qnrbkNHpABoHtDMLZxO/qDxpyMlAdDOSPh93HpdjctlniC6meoBROn1ZD3kW?= =?us-ascii?Q?nQ=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 347fb13a-3dce-4112-f465-08dbc4cb7c25 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2023 11:17:24.4684 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: W/xWOsfdUICK3kxeEoW/JuWDehAXFoS/np6CNfQd2ZmyU6A+kN3P0sgkpt8FpYfx7MdGhiedn/7/TgLE1v9ycQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9911 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The protocol converter configuration registers PCC8, PCCC, PCCD (implemented by the driver), as well as others, control protocol converters from multiple lanes (each represented as a different struct phy). So, if there are simultaneous calls to phy_set_mode_ext() to lanes sharing the same PCC register (either for the "old" or for the "new" protocol), corruption of the values programmed to hardware is possible, because lynx_28g_rmw() has no locking. Add a spinlock in the struct lynx_28g_priv shared by all lanes, and take the global spinlock from the phy_ops :: set_mode() implementation. There are no other callers which modify PCC registers. Fixes: 8f73b37cf3fb ("phy: add support for the Layerscape SerDes 28G") Signed-off-by: Vladimir Oltean --- drivers/phy/freescale/phy-fsl-lynx-28g.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/phy/freescale/phy-fsl-lynx-28g.c b/drivers/phy/freesca= le/phy-fsl-lynx-28g.c index d5385d36735d..e2187767ce00 100644 --- a/drivers/phy/freescale/phy-fsl-lynx-28g.c +++ b/drivers/phy/freescale/phy-fsl-lynx-28g.c @@ -127,6 +127,10 @@ struct lynx_28g_lane { struct lynx_28g_priv { void __iomem *base; struct device *dev; + /* Serialize concurrent access to registers shared between lanes, + * like PCCn + */ + spinlock_t pcc_lock; struct lynx_28g_pll pll[LYNX_28G_NUM_PLL]; struct lynx_28g_lane lane[LYNX_28G_NUM_LANE]; =20 @@ -397,6 +401,8 @@ static int lynx_28g_set_mode(struct phy *phy, enum phy_= mode mode, int submode) if (powered_up) lynx_28g_power_off(phy); =20 + spin_lock(&priv->pcc_lock); + switch (submode) { case PHY_INTERFACE_MODE_SGMII: case PHY_INTERFACE_MODE_1000BASEX: @@ -413,6 +419,8 @@ static int lynx_28g_set_mode(struct phy *phy, enum phy_= mode mode, int submode) lane->interface =3D submode; =20 out: + spin_unlock(&priv->pcc_lock); + /* Power up the lane if necessary */ if (powered_up) lynx_28g_power_on(phy); @@ -596,6 +604,7 @@ static int lynx_28g_probe(struct platform_device *pdev) =20 dev_set_drvdata(dev, priv); =20 + spin_lock_init(&priv->pcc_lock); INIT_DELAYED_WORK(&priv->cdr_check, lynx_28g_cdr_lock_check); =20 queue_delayed_work(system_power_efficient_wq, &priv->cdr_check, --=20 2.34.1