From nobody Mon Jun 15 10:45:37 2026 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012035.outbound.protection.outlook.com [52.101.43.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1B5D309EF9; Thu, 9 Apr 2026 20:29:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.43.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775766584; cv=fail; b=S7uP78pQvXHBOpqYof68UuM3TQEaHM6033Kv9m4O9kiW4yFRDoY/iUByoy0PCt/JN29vcZIXz8w91It8h+BF0BtC5x40XTVvS1lWOQoT4Ocz+Zmr32OL91HExLEcm6E23yBggKx7Yd/iAEIZc8yUA8uYQj99f5GdqR5aXwkKI50= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775766584; c=relaxed/simple; bh=AENdkvUgn7HD55kDB6yCKGlS/6lo5qooM9vFh+5B8LA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jqKby5wiWC6Thwc1TFIJ8CVaozKmh4Yuj7VH/u3MfnnSH5qI/aUaeEmZOLcLIDjSYnWlKDYE+WyssYU4XaN+GT4YgyUjXrkXZByfVHfvk9isKETAjXQY5SaTwEI57jrJNFieAV4xPtE2i8btNShyvpZU8LTJAxe2xPARbuhSYpA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=CPvfCwcD; arc=fail smtp.client-ip=52.101.43.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="CPvfCwcD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Cb+3tJ12o+4aGXeMXXsrIMNlK7O2SZQcpzpOk8aWED8k2qG+mrhY044a7OSm5r6lhcSjsD2uakEcrE1BkYYyZGITiQCU9/udMx/1r7S6dpFH/Qvlqb+/vV/Am0nX+FidcnmsqWjooCgksd0ROUxj0iCHfiOYoEZaUOFT6GL6BkaGKj6FnOZDQSlih+mLjNfvIypy5Il5Kg4lRrTcl9v4hrnmv1R99rf3yq8i8odR5Kw72r0Rx2VhZaBuvfNGaWhsWDFh4qgXUucI7womwuVkFTkWjivX60A6sHkd+C6mwXdmik9KKomtowUO4oSYkW+9ozTaeHHg5Xa9btLhdbBugA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Ipfkbbr6+4IiOwulHLSvxPmuWRbhqtcHMbRfSCSj+TA=; b=kjg8sBq93AXbmSErojvKHNLzuyGu/3SboWAp+4Byftb/qkfNvVWnGNkrCivELOjk+crXodrRTqCndc8LpODS23NhAG8DwxqtnqsYFZeeEqc8a84mJqBguaVodiqBICFqey3TeWgbJFYj3TyEdbCobQvkFkBLw+4gwdLdoMmmgJB/TpMdkMURYV4otQuQn7tljcQ74YEEvCfQEXXbukINaeK4onV4cubS98laUwWgBTLqlgYmDyBqWOqP28TXY7XgFagpWHVCgs/gJMH2atHprmlWS0+GQ7v9fpKbbKlmxvsGvjdgEcI6gbYGyGS8+Izf3vK7+BTuuxDv9NvzMBOdMw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=google.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ipfkbbr6+4IiOwulHLSvxPmuWRbhqtcHMbRfSCSj+TA=; b=CPvfCwcD0+Q/PVQAgkHU2cy35GDlbbv/Wl/+N58PJCA59MlTDkHrQgvALxc8sixEzX2x6PxW7kv/edoTCJgEt5hb+bM+Is+cj5J6MJCKnAoyJQwOL4EfQX5bzVTvJsxJSmsNZP6cnmXVSbhFN+vC6/AFiCTPanXB1cHMiuQfpgC3kplWYDC3AYLTcmXft2QOax+RPM9KnqkStCxXiMJxHSdtauHVh/bkrvW+n0IFEh+taV6O2Mx2duRcZwAk5LKJJAAcMfMFg4DGDQwfIjld6YM78CoiNJRyaUlpB7zet2S4y9dy1Sn+JbVZnINg2FRgPJ9oP7DIWBN2f31dOtyjBg== Received: from CH2PR15CA0026.namprd15.prod.outlook.com (2603:10b6:610:51::36) by LV2PR12MB5848.namprd12.prod.outlook.com (2603:10b6:408:173::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.18; Thu, 9 Apr 2026 20:29:38 +0000 Received: from CH2PEPF00000147.namprd02.prod.outlook.com (2603:10b6:610:51:cafe::e5) by CH2PR15CA0026.outlook.office365.com (2603:10b6:610:51::36) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.33 via Frontend Transport; Thu, 9 Apr 2026 20:29:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH2PEPF00000147.mail.protection.outlook.com (10.167.244.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17 via Frontend Transport; Thu, 9 Apr 2026 20:29:37 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 9 Apr 2026 13:29:15 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 9 Apr 2026 13:29:14 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Thu, 9 Apr 2026 13:29:09 -0700 From: Tariq Toukan To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Boris Pismenny , Saeed Mahameed , Leon Romanovsky , Tariq Toukan , "Mark Bloch" , Jianbo Liu , Kees Cook , Lama Kayal , Michal Swiatkowski , Gal Pressman , "Roy Novich" , Roi Dayan , Raed Salem , , , , Dragos Tatulea Subject: [PATCH net 1/2] net/mlx5e: Fix features not applied during netdev registration Date: Thu, 9 Apr 2026 23:28:51 +0300 Message-ID: <20260409202852.158059-2-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260409202852.158059-1-tariqt@nvidia.com> References: <20260409202852.158059-1-tariqt@nvidia.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 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF00000147:EE_|LV2PR12MB5848:EE_ X-MS-Office365-Filtering-Correlation-Id: 84d6491a-eb57-4103-618a-08de9676b873 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|7416014|36860700016|376014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: rcD2LYZLjVJomXBitwpbl4xkbvqiC1VE1OkxhjnIxuvcNBR9PAe03KCZSay6sqc1ynGhIXCNwBZfBH1iuvNVnQUnHmeiyGRsAOUHOTN1HqVlDIWtnxIcogzFDpeLCcbP0KW03aRExtyi2w1LYJOQlru8b8JyQmVTPvxb5c2eDjPFAQ4urRLScUn0YsbooMpcz9uzI+IbBYBJxOcnsNDqvfnkVcjjVq+M3WEq4CtARXoJCel+QSNIYjHESFAwRvwdoaif62216hHZt8Fh/xE/kYPWNaMjsl6/DeMucIv7bW2vpZgEJrNu6SfewnpBMm8gE4ojITQ8V3l5StYEj550uBTFK4yvXFwQn+umZbwvvd8mVCorseKMpN8oLHz9e5/EF2pscEGvKI8+C4gWV6fwMRUlH/IS10WXVuggbthsPsm5nlwDWX9aN9f3uBpreDFDPtJmHpveivG9PsWcst776noksdCUjhElVmvsunwGx0BYH2ijUkaQT3gqaHoc27E6kLDC8wRPfa2OIuGC/X1Fh2KWepUSkHSwKPRV2HXN4CLVSgdK0GeBHVQFBD2Sja0rsChVrzvt5lQqmLyqBbJpHx0hfpnZCYGhkBZTcWX96B1osj2VQbQwHRAm+4WCSsGKa4Qxaeov53YniAeg1Xi6NKOLJGdgXBegv8fLaQx7nVaSRtX6+JssxHWKrXpAxsc8Rgkpv+UYOjislzrlQ+o/PTNx1Ar95iOpk9QqeOHj/ig6sf+dqs5PInsMiTDTfgTbutUnaX8ZXSQokCg6tOHaYA== X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(7416014)(36860700016)(376014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3Frdytjy7Fr6toyWFqBGIMBrLn8XjXPvrIXBTzER1noNqlJZuIZnzJm1Nr6YI/j16lAE5lo+Mv4XAeTiIDxDBzqqMdkYuXyrEPEeecVA45KdulALWCIli+wN/K0YmsIs6We8ChhvlwFTRp/OMMYwaelNRuvmagIkCTCLJdHwxVtISdpcIj+8LrG5Td0f4p00cO5O8OMESw4WfnJvHiGE/sEVhTDBuP8eprvZbmvFZImvSRdCcuM5NAYjo9vimQQ8yLywxhTT4ji90v9cUOpcRqxOMDqoddgicN0VbsWWHfz7EBXvfrwelwmu1QblzEkmHMlVcn8k9d3Wr7kVtwCEgFBbHYmq9hi55So48yTzuDYgqRDODcpqDNCrSavUj4rvpbe8/sUZ5bEnNeX6Y4bTmAyKrKIxatuhuWlZkhgPXlWDMyNlydvs2w4L+4QlLKfp X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2026 20:29:37.6458 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 84d6491a-eb57-4103-618a-08de9676b873 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF00000147.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5848 Content-Type: text/plain; charset="utf-8" From: Gal Pressman mlx5e_fix_features() returns early when the netdevice is not present. This is correct during profile transitions where priv is cleared, but it also incorrectly blocks feature fixups during register_netdev(), when the device is also not yet present. It is not trivial to distinguish between both cases as we cannot use priv to carry state, and in both cases reg_state =3D=3D NETREG_REGISTERED. Force a netdev features update after register_netdev() completes, where the device is present and fix_features() can actually work. This is not a pretty solution, as it results in an additional features update call (register_netdevice() already calls __netdev_update_features() internally), but it is the simplest, cleanest, and most robust way I found to fix this issue after multiple attempts. This fixes an issue on systems where CQE compression is enabled by default, RXHASH remains enabled after registration despite the two features being mutually exclusive. Fixes: ab4b01bfdaa6 ("net/mlx5e: Verify dev is present for fix features ndo= ") Signed-off-by: Gal Pressman Reviewed-by: Dragos Tatulea Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/en_main.c index b6c12460b54a..0b8b44bbcb9e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -6756,6 +6756,14 @@ static int _mlx5e_probe(struct auxiliary_device *ade= v) goto err_resume; } =20 + /* mlx5e_fix_features() returns early when the device is not present + * to avoid dereferencing cleared priv during profile changes. + * This also causes it to be a no-op during register_netdev(), where + * the device is not yet present. + * Trigger an additional features update that will actually work. + */ + mlx5e_update_features(netdev); + mlx5e_dcbnl_init_app(priv); mlx5_core_uplink_netdev_set(mdev, netdev); mlx5e_params_print_info(mdev, &priv->channels.params); --=20 2.44.0 From nobody Mon Jun 15 10:45:37 2026 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azon11012021.outbound.protection.outlook.com [40.107.209.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7CE02330D43; Thu, 9 Apr 2026 20:29:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.209.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775766592; cv=fail; b=gitPKSeNZ4ONxpR7KrA7x0KqaO3PxGOCCgf4WppGRZHPnCO1GmTZOdh9htryUkr0/LvF6OmjfYdErVc+KVccxn7F9A9/rTsW8X4SyEzFhNYhynH5cFlNNs1ZNSABtDuWNuXYCWGKHFIjDHQVeGteVmRrlS9qDUdJwk5FVRPzKzI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775766592; c=relaxed/simple; bh=FCDy4Wpy9HhnxU6kizkgllKL08Xne+sVuIPwkRKvlJM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=nlWbFPJ2E7SJRjflNUGEQfVV5n0ww2dEGCFYa9GP5Z6rsGHA6eizjHGIaOuq76boUTeVVB2KUfHifGh8WgMuZ/BaCGZJpxY81qpAgi+vyzSfA4bp5JWo9Nj3fdNF7EHS3PvRiURoSYf0zYCJpwNfE8V4ItwWYUj7ZYcqsnnDgR0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=V2xlIBzq; arc=fail smtp.client-ip=40.107.209.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="V2xlIBzq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TsNmc/p2aso7sGVNbkoOH6etOuJO2tYo4Fyum4pjwxN0o0MjKYqITQDOANjwEDr0LXfZYWByIPOtclwtpgb+9lwcw0uon0YeZNSovwK4YowFdhj7rfdFcqMIm+QziooNMuLkg4oLveKIt0RyXqMgSouQqCGXLhelYBNdkrgYFcv/T7+NNQokhJN8C29UehzO99l63GANB9F3eXK4bMyk/jZIsehxmQrQKn6dgd09yq3qQPmlJVF8THBOQzvRmKheGIakfNwtxkj6LfH/EFdVwP3mHNBSs3MxxXRFaVlcb/cpeo+j0bLx5r2lYWpcQtQx2UFE6B3vduaRzvqW3X/Myw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=etD7AJHQaVjPvRf8yRhzcnu9NkimP4Wtlwdem/WeqLY=; b=McyE1/TBURN04k20t2E7H6XxLI8WDOMd7fik7LKpJT4vp7i6E/ZE5AGn1Bkuj8kD0cD+CV7wnvRhwz7+mrhJvY8NIjIKb1PUdg/ZQlQpefMuFsK2GhKnSHNOGCOm3qU1y0EKXrxwoXQhU7DAToFgRbPBmCgk9OExhvYAX0tsrDAMDiWCEVK8iNLCQp5FZ/0vOWQctBq6hVo2cRgdnDaT/1FtXeZQRv5W3d6C8eVoH9eWCBML+WOYEjTdZhWJpwcQ8XPyXgMbfYIPILH1ZAqQABww9x77G/PGlfyevwAZKuOYhaAEuOyuWie0KKE8LC/vTVkJiTyj8kUiJPav1NyhOw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=google.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=etD7AJHQaVjPvRf8yRhzcnu9NkimP4Wtlwdem/WeqLY=; b=V2xlIBzqPHN7SVOuf0R0Qhxa1KNYQ2WLFX/0HRAYV9qMczrUL0sWMhjzrf7evrDXe/bgW3JAJYkPuVrte/2EXrpwatN8AkHth2cfWshoHSyTFmt18M3VCTaJX6Mlfa+MPz+v74JbtM2hZxtCsEJLNdjSAWvTDhP6opzLO/vjFDdpxhos8W5P7/Fqc1buZx1NTE45ZbM6/w4s1/XwqXISZeYnu4J5VNEE/2/6DxRkkTr0hunDwhwlkYvkgKNesyZctu3b2pVdR/j5stYNCpMkGpPd/WvVKWbnUu9wdWKMIjRsqaYmAovoWgen5EpVpXad+e75sgnwFrPDlJQNWvEE7A== Received: from BL1PR13CA0399.namprd13.prod.outlook.com (2603:10b6:208:2c2::14) by PH0PR12MB5607.namprd12.prod.outlook.com (2603:10b6:510:142::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Thu, 9 Apr 2026 20:29:46 +0000 Received: from BL6PEPF0001AB52.namprd02.prod.outlook.com (2603:10b6:208:2c2:cafe::3c) by BL1PR13CA0399.outlook.office365.com (2603:10b6:208:2c2::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.37 via Frontend Transport; Thu, 9 Apr 2026 20:29:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by BL6PEPF0001AB52.mail.protection.outlook.com (10.167.241.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17 via Frontend Transport; Thu, 9 Apr 2026 20:29:44 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 9 Apr 2026 13:29:21 -0700 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Thu, 9 Apr 2026 13:29:20 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Thu, 9 Apr 2026 13:29:15 -0700 From: Tariq Toukan To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Boris Pismenny , Saeed Mahameed , Leon Romanovsky , Tariq Toukan , "Mark Bloch" , Jianbo Liu , Kees Cook , Lama Kayal , Michal Swiatkowski , Gal Pressman , "Roy Novich" , Roi Dayan , Raed Salem , , , , Dragos Tatulea Subject: [PATCH net 2/2] net/mlx5e: IPsec, fix ASO poll timeout with read_poll_timeout_atomic() Date: Thu, 9 Apr 2026 23:28:52 +0300 Message-ID: <20260409202852.158059-3-tariqt@nvidia.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20260409202852.158059-1-tariqt@nvidia.com> References: <20260409202852.158059-1-tariqt@nvidia.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 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB52:EE_|PH0PR12MB5607:EE_ X-MS-Office365-Filtering-Correlation-Id: 8c619ead-4231-4018-25eb-08de9676bca2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|36860700016|30052699003|82310400026|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: ZkR2CSs1RZGmGBj3P6Fmnp2+TAe/yBWQ8hTwG5dvqOdtI7PNjApubah2arSReXOOouj0emhqh0bP8FHH9t9z//FHfU8frBH3dskyo1EVXJZmnE8546OyZOuZBJ7hKFWyXEqAOzulb1FHGmCA8Qih1BuRVo+iUOBr8QeC1uZ3K+kqIez/+H9wmUm5pcR6Zvrtjp1oiemj5fX68ftUy9oSIg6FDPQAc2tvZ8FJMPlsujAyVw5bQ+tajbqJPkWcBDX/dyakD72whhMTLlZiZBq1Cq/vqZuiE4JTW8F25HKIoPoWtyIZv8QM0J6ufQqkGwIrDCPLb3CxqkZjSgQ6s/iX7/KvAl4MPJl8pwb2O0jyQen/v1fDiKSyqM3kmqfRJRFKhPaIlXRtSedA3i64KYXXom1jpvZnvno5njKyVqE9FgF5HmLlMvLlGfObEhxykWx3LstOE63bt3OhL6DpKj6CU5ZHc15USRm47K26R5pyPoV41F0YQ/QjgqnHCRSzXGEkf27Mxw4XUQYrsk1Z+grnu+OKt/Befmz8YC2Dd9uAvzgXFyGLkKUi9YG1h+f3UO53kEWPKATnPRLI89cS8x4jlj4YwEj/1dv0NBS65Q2donmr0BMxaVpkDeHWaVS4NnycdxCec38d87kJ/inRrEzeRU9Rn6xsN1XMkh5fFdEou3N0zCwVSWPMoIbfu4B5fQmavFqpYMGEib9Yt+tltup2ixh7MNVVPH3m95EGala4+bTra6fxl0lLnHQkITE1Wg0ICbGf5AFrGdts+n8L1hgjKQ== X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(36860700016)(30052699003)(82310400026)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nJfzkN26K3t+OC1ODCerwNir2sRRRokJq1WzVvkQxgdiziBsS/+FU1yTa3MZQHJNe0gXYTvI5yGFzj6UZEjt1ulBOkX0CnKziT/GqduAFdCN3kxRuP6Wb2Wh1cW96GT7kmzjjVQuKmIqkAz/jLvHBwmViTw3k2b/UibhzyorDTVA0jrnBBN5Ggp5gE4bMnpfMxV+byhozOvwJQFK3Uk2lxWVqPbPKFe+JU7zkqOhKgx5I0Uki2hl38MhTHuVg+/4jnCzQ42dDm29J2Cl5opDhBExX88sNAYYi/9kHmyruBEzHm1Cxs0Svxxs+p5jb20dtVyUKAJuQqjRqMaEo647Ma0EGwB17FfMLehlZdxSvuyu11fAFAEGHlrzpPccP4X8PC2sLuwfCbc/PpZNtUsVEHk8Ta8qLBvTs4RqMbXDxaWVdeppKgjwEfyivBfLikCV X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2026 20:29:44.6173 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8c619ead-4231-4018-25eb-08de9676bca2 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF0001AB52.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5607 Content-Type: text/plain; charset="utf-8" From: Gal Pressman The do-while poll loop uses jiffies for its timeout: expires =3D jiffies + msecs_to_jiffies(10); jiffies is sampled at an arbitrary point within the current tick, so the first partial tick contributes anywhere from a full tick down to nearly zero real time. For small msecs_to_jiffies() results this is significant, the effective poll window can be much shorter than the requested 10ms, and in the worst case the loop exits after a single iteration (e.g., when HZ=3D100), well before the device has delivered the CQE. Replace the loop with read_poll_timeout_atomic(), which counts elapsed time via udelay() accounting rather than jiffies, guaranteeing the full poll window regardless of HZ. Additionally, read_poll_timeout_atomic() executes the poll operation one more time after the timeout has expired, giving the CQE a final chance to be detected. The old do-while loop could exit without a final poll if the timeout expired during the udelay() between iterations. Fixes: 76e463f6508b ("net/mlx5e: Overcome slow response for first IPsec ASO= WQE") Signed-off-by: Gal Pressman Reviewed-by: Jianbo Liu Signed-off-by: Tariq Toukan --- .../mellanox/mlx5/core/en_accel/ipsec_offload.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload= .c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c index 05faad5083d9..145677ce9640 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c @@ -1,6 +1,8 @@ // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* Copyright (c) 2017, Mellanox Technologies inc. All rights reserved. */ =20 +#include + #include "mlx5_core.h" #include "en.h" #include "ipsec.h" @@ -592,7 +594,6 @@ int mlx5e_ipsec_aso_query(struct mlx5e_ipsec_sa_entry *= sa_entry, struct mlx5_wqe_aso_ctrl_seg *ctrl; struct mlx5e_hw_objs *res; struct mlx5_aso_wqe *wqe; - unsigned long expires; u8 ds_cnt; int ret; =20 @@ -614,13 +615,8 @@ int mlx5e_ipsec_aso_query(struct mlx5e_ipsec_sa_entry = *sa_entry, mlx5e_ipsec_aso_copy(ctrl, data); =20 mlx5_aso_post_wqe(aso->aso, false, &wqe->ctrl); - expires =3D jiffies + msecs_to_jiffies(10); - do { - ret =3D mlx5_aso_poll_cq(aso->aso, false); - if (ret) - /* We are in atomic context */ - udelay(10); - } while (ret && time_is_after_jiffies(expires)); + read_poll_timeout_atomic(mlx5_aso_poll_cq, ret, !ret, 10, + 10 * USEC_PER_MSEC, false, aso->aso, false); if (!ret) memcpy(sa_entry->ctx, aso->ctx, MLX5_ST_SZ_BYTES(ipsec_aso)); spin_unlock_bh(&aso->lock); --=20 2.44.0