From nobody Thu Sep 24 15:10:09 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010056.outbound.protection.outlook.com [40.93.198.56]) (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 F258A5632B3; Tue, 22 Sep 2026 16:03:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.56 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790092990; cv=fail; b=I49UDw7VoQyzreyxnDi3dBwk+wHuRMP8B/wbQbEMMiiXvkemruhXJIj4NenzN1kShxTd0ms/Qhj9+o7GO2HH2i/lnlz3aTUiACGrCBjp6Wb4RXKv+Sa8KFypOgDTYjFP7MHqGGzJRwiQuG3fqmV7f0s8IddWbcdEk359PwA4mxg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790092990; c=relaxed/simple; bh=VKshTG1QizCNB+g5Y5M/8lSNVfCIXzqj59UFipvyFtk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Yv+dkg1UOJHaGzn0uhHp36JF2k/A8fkbQMB0hY1su/9YsnHqePJFYfVHwaeC4lWNFgumZgmlRx94avxT4OsedQ3rGlKlIePa3Q2Aop3bIMJF3Axs1odwsmVgnWBkTD3vQRWqYsP5eMyhQa2beI94do1ApWDhZ2QRP6uvHEtr0Fw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=I8iqxCAl; arc=fail smtp.client-ip=40.93.198.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="I8iqxCAl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XN2yxRk/A7AsJFJkEIQ8gpLcVeKM+pZDIfUFDVkjTh5oZ2QOaLAYe80UaXG9DmicKYpu5qG4rkQgspL3p6V586SrhhFRNaP2ts03gTitpTbTiandHNhyFrv6M2jKUkEaP9JjVU83MWA/2wx8wI41XywzWbZDSRf6siSA7l8t3Kx+5BfkqJfO/C+RJ4Rj60jcWOoSLBkJajjLOQa/DMhzwBCgQMbMZ5LlsaZE6eFjWGrHJaJI+A9hVJBVtzZzzeU8TndJCB3mJjVadH08J4fnWCVFUMFjkHRTWIxofbDG/ouZJNFip2cRb03GdMU/+hQW9dszH0khjxv8yZnmKipbSw== 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=OroRCiBJZWWNIk8i9U9diVwGwEX5v4YJU43kIsI46Vc=; b=BzsYGoKO0OkTvU90GArODzK9scbAndfgobCNlboy8RrCQCfyyx58zoIUS54MmS9lIdriaVOM4zkkyIgZiDjPYtZfvlsnEtdDLiw0oD0qi4eFuuyMeaTlP0GWylqVPHUQZrgqnc8carwbB0s+USLG/uMsZrUFr8z/lyHVyWRG9Kk9+dgF6l63MpxdtUE8VLOeMJAyyBuSkGbIq/cqRBTNorx0KmNKAWZan5jlAhsDQRQdmBYkr94ubXywulfgY7rjRAEKcmVXQIF2k1hbUanxrQZm+z35lLX3sWUYB2UImtMsSLgV31dZQyHM/fcJzc1qZ8TjCK+7GTlKVEc9Ke/wbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OroRCiBJZWWNIk8i9U9diVwGwEX5v4YJU43kIsI46Vc=; b=I8iqxCAlRZJS5coThcmfafLl/j6SFbW3a2c7rWWgsXUCBJ+nl2T7wz/+EDX3jL7k7sTZx16kJ3SqssT8ObDSMiwfyK9vXGQfI9BiEoWPnEUWYqKEJKj2ZQ5NdVKcOlFRxl1/5ywjQ/qpSCvVs+vrdCmPktglaOFjXmjHRM28OsiWsiX/lTJENa6QVL2N8u7obsttgPyErB9zHiaH871V6wWNmK8x19/+InrNvL56iAYM+rMxXma70Vg2qnpyEGxSgIKGL1SAR1LdNtO17vKoL3yEzhDxh7ac+pxXeUOfY19ENDDtVQnvdLkG2Vb6H2eOZpCUmm1iSR0UsWU9s4IJUg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from SJ0PR03MB6581.namprd03.prod.outlook.com (2603:10b6:a03:393::12) by SJ0PR03MB5918.namprd03.prod.outlook.com (2603:10b6:a03:2da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.13; Tue, 22 Sep 2026 16:02:56 +0000 Received: from SJ0PR03MB6581.namprd03.prod.outlook.com ([fe80::e335:b86:cf59:8b80]) by SJ0PR03MB6581.namprd03.prod.outlook.com ([fe80::e335:b86:cf59:8b80%3]) with mapi id 15.21.0428.014; Tue, 22 Sep 2026 16:02:56 +0000 From: Adrian Ng Ho Yin To: Moritz Fischer , Xu Yilun , Tom Rix , linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Adrian Ng Ho Yin Subject: [PATCH 1/3] fpga: stratix10-soc: always wait for svc buffer completion Date: Wed, 23 Sep 2026 00:02:41 +0800 Message-ID: X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0013.apcprd04.prod.outlook.com (2603:1096:4:197::6) To SJ0PR03MB6581.namprd03.prod.outlook.com (2603:10b6:a03:393::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6581:EE_|SJ0PR03MB5918:EE_ X-MS-Office365-Filtering-Correlation-Id: 03fc1e1b-5897-4555-373a-08df18c2f77b X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|22082099003|55112099003|18002099003|11063799006|10067099003|56012099006; X-Microsoft-Antispam-Message-Info: 4+qGWVmXkhfiZjTN0gVBAzWYAsofrWZ4Oez5Aip7UpqqTy3lt5hFgpnwWFYVrGoxnS4W3RWqFTPIKr7OzSgDsafEFMg5rpEBo0xpGWkn0ecICqCmgYw2imow7pn+WvDdLgzzlXWNcteUxHKO918bYR7UPMAJH7Ts3f8MKaO9mbfdBhK7MYc+0rqGCfAvIdASskX6kTbNeHjJtl600KcNg/65fSKFGEC8Cg2ca318MSRj1ue99xIQnr0d91w3zyb3C85uE2gjeXS6cXb7SxXwWNKUH72OHNtAzZoGLSHOlbxaTQmd7aMAWhIytZ2cOCts3U6xAkgcsAM4TrgH6T7FNfr9rvs6a4QUMGSki33lazOgqbREhpBledjkswdpCAUoAX5ZkvoPwpyRPF7x+3NOiwBylOIwpEldU3hX60XtJi0KPmFplE1jlbtaaGfy5rfP/k7u4rtx+PajK46MMMkrKz6nt/PQC0I3q0IAMRNArN8OuHfCgq9NXtFFvgyGXYJCjyg46OYdZcCLqYXE/xQkxw7Zd+Ul7DzW/bpPEwx7d5tDnIvpJFj72mg9/Ep7oiysfW4rxqYCiOrdOWtAEr/7g45c9IKghbwwj5tIU9VxOBeON/D/K7B9eSrgWzI82TdfOK3IiialehUUbE7kWLoLKJiu52a/iPIAB5G6ls/NLIs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6581.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(22082099003)(55112099003)(18002099003)(11063799006)(10067099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6r+nVZVl6ttxtOodZZv9/40e29HAvj7xHCw9PDzIEaLJsTV3d9ZGgebNRqx2?= =?us-ascii?Q?v8Axvj7eXaYUAIemtCtHYC1CigxondXOT6nBL54+p6hsxL0Jl1j07T175P19?= =?us-ascii?Q?yb2yNCiCLGTLc7WnDjdeh/irD5f2oFfT/4WG1IM5L0CnWgWwMxUaJXSLF5Pn?= =?us-ascii?Q?wFvs/3RZz86jXtZIdjs5xJr/9cAToj3BxuXmgw/nEXWaCUVXH2A4ivJdedQi?= =?us-ascii?Q?3rKcFnt9Rvbsheyy0keObltzd/jxX8NPAiFIkJARN01FDdJAm/irfNPTFMCL?= =?us-ascii?Q?PCMq9PyvxNEFRvYc20sSTD67fwCK2C5pyDFH9yuLurY/SCqxjL8YKxXhtw6i?= =?us-ascii?Q?7D11lXz94qiyHhA/gKF72Ldvquw+ZYiRhGxBfxfmCF7HM2HxUjHNM+2bA3ls?= =?us-ascii?Q?32p1mD7J1HZfjEK1PL+/tbMqXwgGV3xrvvrnuEBwkX8P+v6taAHMYB/FlI/c?= =?us-ascii?Q?wdCQrf3Cu2i991he9093TJegjTQz1q40l6z2kM3izMHZEtRL9QJlVSD9665U?= =?us-ascii?Q?6vZzkC0NetWwxXFOYW29t2qZv/g1eO9evBkIv8uIl64EuivnwWkDSSTun7Va?= =?us-ascii?Q?HWMbI11lGBID4R0h9mzyMcbSJBBQ1ga41f34rzgLJA9XmpYVBuaZM/6AmJ4y?= =?us-ascii?Q?gX33YqXFNyZRfXfUdNrmm4pg6Ll5zHLI1ipoYd9tqdBQ9Z7AJA9CUlWFuA2f?= =?us-ascii?Q?mACcNbW0uRurhu5T3Up8mBZBLhXtv50o3PfYHR/mhIc3KA/4l4yXbVONxHoO?= =?us-ascii?Q?nW50Lrg9XnBwSMr1oF+OuzYnFOJNwMlxk/7dD6sArxHLIST3bZ5RWGNxtOhn?= =?us-ascii?Q?pyiNIBfdkUdgMS06BOz9Fq97hFOjS8SvalSczX+4vSUwmqLwgXMcfvBKdVmr?= =?us-ascii?Q?tVsurk2tdwuJM1DBjdkimM/tOjohmfnSShMAqycAPI98W6aoA9WJGoVyi2ED?= =?us-ascii?Q?tooVTVPrLccLGEJBRD2lb/dWEcYjoDxWz2DPwMzttoTiYrIdiOkhXCCDcz0d?= =?us-ascii?Q?Wm6KwAEF8xyoNiiilp3FXNHEj951TzwLKeDynZIjwGxR+QVZQaW1pUABP2VI?= =?us-ascii?Q?+itBk3lizQ8AE/qFKqpuy6l8T1VmGTGT5VxTdOCaCYeEj5DaF6zmkxHqtMFc?= =?us-ascii?Q?ldeYpHrRIxGt9kQ0X2EVM+H+hP6giAMy4gRueF9qPEAu46KjCXMg7Fr8140U?= =?us-ascii?Q?GI/+ao4AZlzBt8T+g9ooqnANNM0pF0bpAmoKnySokXIQ9r4L0GOXTpwGlhQp?= =?us-ascii?Q?K0fiNnSZBJldFGEUvPEeVgI7V6RRdsTdqU5fKbuq4dFg3GDyIgAcEXlZmuE1?= =?us-ascii?Q?BJP7x9AofQSblBoA5WAhBKHLYaeHPjL9YGW7UrNYoenqRnjusoyZrzNUV14O?= =?us-ascii?Q?7kqFVp9F3HEwGyoJ2UA8h1SGZVuYqBM56GxbshDEVSUfw5sw0SoSmyHzes87?= =?us-ascii?Q?vBkisKXo6DjZjyUhBhg5DV4Dlnwk2omFS0Uz6r6eKcTyuStddmdG83lq2SJp?= =?us-ascii?Q?oSU4jCfJ+QBkcK1WMPU4mt8eDq9GOv4zxWhvRfMK6zCkEdagHrMvd1jbuvq6?= =?us-ascii?Q?SnsYKtT+20Mmc9WvX3DhCBKpHUqWG7qW9jrfRjfDouwWtCS73UKEM4d005UQ?= =?us-ascii?Q?3S+VzXi9TP2GCSo8IGZmoSh4stXTh35dYD08u38lSK2/ujJ6I1qravTbhoJc?= =?us-ascii?Q?hQFUqrkOuxLDDZeK/flrFw9DqrjEwLLSMYobAw55fUf/voeQQcdd4soBtrz3?= =?us-ascii?Q?BqP+hbrLozgtKjfEPQgD0vpYEwJvesk=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03fc1e1b-5897-4555-373a-08df18c2f77b X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6581.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2026 16:02:56.7310 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: M/Yydtb3/8RBYisgwdy46iULr6nKUr5MBrF2fjfBPc44D/ONbtFXtRaJ42KZCXp2S0oZe7lBih8w6nUOc8E301Jg0bVyg5RfzdD0acFQhvA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5918 Content-Type: text/plain; charset="utf-8" Always call wait_for_completion_timeout() in s10_ops_write(). Skipping the wait when priv->status is already set is unnecessary: if the callback already ran, complete() raised the done counter and the wait returns immediately. Signed-off-by: Adrian Ng Ho Yin --- drivers/fpga/stratix10-soc.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/fpga/stratix10-soc.c b/drivers/fpga/stratix10-soc.c index b8ec2e6f615f..3ba0ffa1d9e0 100644 --- a/drivers/fpga/stratix10-soc.c +++ b/drivers/fpga/stratix10-soc.c @@ -310,14 +310,14 @@ static int s10_ops_write(struct fpga_manager *mgr, co= nst char *buf, } =20 /* - * If callback hasn't already happened, wait for buffers to be - * returned from service layer + * Always wait for the completion rather than skipping it when + * priv->status is already set. The callback may have fired + * between the CLAIM/SUBMIT send and here; if so, complete() + * has already incremented the done counter and + * wait_for_completion_timeout() returns immediately. */ - wait_status =3D 1; /* not timed out */ - if (!priv->status) - wait_status =3D wait_for_completion_timeout( - &priv->status_return_completion, - S10_BUFFER_TIMEOUT); + wait_status =3D wait_for_completion_timeout( + &priv->status_return_completion, S10_BUFFER_TIMEOUT); =20 if (test_and_clear_bit(SVC_STATUS_BUFFER_DONE, &priv->status) || test_and_clear_bit(SVC_STATUS_BUFFER_SUBMITTED, --=20 2.49.GIT From nobody Thu Sep 24 15:10:09 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010056.outbound.protection.outlook.com [40.93.198.56]) (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 A20FD563FAD; Tue, 22 Sep 2026 16:03:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.56 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790092995; cv=fail; b=t5j87ZTPhDIsOXbnlLB+1nQxl1envPpwhrxaPMGvpFyi+ptMsARz8+ZnJkfT7+ANvC1k0gm2HffJnvIpOP2Cp7ouHje571NgjsTuHQ6faiScKKYd4coILfRqOgYvxEYc55LZL3WIjsCwlwiSqYxI5H10CjDf8Z9j4npPjY8guug= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790092995; c=relaxed/simple; bh=f6odyQcRMKVJV95ET4TXVlP2QNyw9yveo8Cql1+c8ws=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=L9bVsC4QlET7dyOopxZ4PfvHEY4/5ctes1D+Fo5X+UVYMVy5eoQydiaUGtgdCN4/PEU1HwcOHprUO+kvmUzqFlMrRNK4CpgYlEp/th+lLEzRBGLkSusMn2S4r7ClBTXDMAjJKTIQfgdwiNDCwWq71RBTgRIAvTfVsf+qoWd6cw4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=YhiKVOPt; arc=fail smtp.client-ip=40.93.198.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="YhiKVOPt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qJuED6Np9FO2BB2oyYfutrYShdXgXwJiVPkzQpzTv73KJNQQ0gF0leMe1NDtqccA34DeApF0eZq9yDOZPHrTa7FhEgpgLIj31Q5NhkUOVCgNSoaHhbk2uh0jOWDuucZvJr/TdlZqnb68MbYYjXNKGameVlJPWKJhwNt2b9X97rUk65LhwzTHyQgvXXJKMGFI9twZ/YtgAQ7NIRw4zDqPF3Yqexdiwc1DcTDB26CJN6o5X7xGgqDFJUHRPPOdQKD8PHClwB7f16RtATW0pDAkgo7/qo6QxsVnM0dmpcFgkgCwKjD45GthJ5AuGsi3EwULck1Fn3jMHzd2/l28zFJouw== 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=iL5E6pvKeetbKuK9zrlexoZTupR20YXA2AT4T7c7En0=; b=ckSn6/XaYhJ/AplX7OkN4bvQ/0JwDuwtHIILVi6o8VCAm9TN/RwsW4QXMuKqyxoBT+XjmRVgiGYz2ijqPu2aqhzz9hYQRJggutb+2ddrK+1IqKMjLk5JByhvyHhhcpdPzLlX/isrxIQpzFK4UVCOrMRBAuIFmTn6/nv4z0Xc8vCeNCAumClkkLf2x1/zwiNXK8hcuwaPlkq1RAfsjw0lGVkuHoDA/Qd5vFOaIIx9IYo1EKtrUEXa0Zp8jRnlURyoRiLqOA8O4ybTGDKxvl4WmNNoei2QL8SwVJV2CuG4iTCyeTyUVAbKrsM8Oi4j19M7Ohnq9KBZVGvhcuye+3EZ+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iL5E6pvKeetbKuK9zrlexoZTupR20YXA2AT4T7c7En0=; b=YhiKVOPt6zjevgEslK0JaGIHB7biEOMfCFcjvQu8QMmcaSseNgRa7OUpT+HNFn5m61GptVTfR7uJT4EoLtP1NnmkmI1W6dXFKrTLKfDEjxYtu8HkbQN/XfTjSOvustoRQULklIBFjDiUQvh8gH2yA3oXiS0GVHXzezkcTVOidDQwXGrnNe948ge69s+ComExl0BmtrtRhCrwrLUcOXcapfk6qLjWZKxZ+rViRbo/humyhJ9ZTrOa4F1XBWcR9WZG+K+SYtjQImzug+4jHyJtfPc0dvvhsAVDwNS/wykbUnYxZdVSXD8nG6SzAPYYJsYKCxbSC//J0WjKLkQN4UyTrQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from SJ0PR03MB6581.namprd03.prod.outlook.com (2603:10b6:a03:393::12) by SJ0PR03MB5918.namprd03.prod.outlook.com (2603:10b6:a03:2da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.13; Tue, 22 Sep 2026 16:02:59 +0000 Received: from SJ0PR03MB6581.namprd03.prod.outlook.com ([fe80::e335:b86:cf59:8b80]) by SJ0PR03MB6581.namprd03.prod.outlook.com ([fe80::e335:b86:cf59:8b80%3]) with mapi id 15.21.0428.014; Tue, 22 Sep 2026 16:02:59 +0000 From: Adrian Ng Ho Yin To: Moritz Fischer , Xu Yilun , Tom Rix , linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Adrian Ng Ho Yin Subject: [PATCH 2/3] fpga: stratix10-soc: prefer ERROR over BUFFER_DONE Date: Wed, 23 Sep 2026 00:02:42 +0800 Message-ID: <77007ef350addaec2d9a9e3bfe90f4c303281893.1790090287.git.adrian.ho.yin.ng@altera.com> X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0013.apcprd04.prod.outlook.com (2603:1096:4:197::6) To SJ0PR03MB6581.namprd03.prod.outlook.com (2603:10b6:a03:393::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6581:EE_|SJ0PR03MB5918:EE_ X-MS-Office365-Filtering-Correlation-Id: 7b21d37f-8042-4f37-8b2b-08df18c2f8c5 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|6133799003|22082099003|55112099003|18002099003|11063799006|10067099003|56012099006; X-Microsoft-Antispam-Message-Info: bwo58ek3GEVsUG/kxabZcoCvx2HaN8QC56/t/Itq73ddzqb8baMbgMEcmvcgixizH3yE0CVBSNt7H3tEZ+iwSjXpUI8xgMy9Xq+HgzAMr1JKOr3RaDXpsl4LKedQVq8zV7pxdIIIJPPxMOJ8ogaQes3l3eFxjYaIN/KHkolpio1qDa4/A8XbrZ/cG5Rb8SDaLh1UMGlcmt3JI0NSqm2aGCLF4OkRFSbhsTxe5xpEcUhlBH3Du07BilJx6GcH8m9MrhvAYY5eIrbc6Gb39BN+caTFfcEcGOmtZbhg937Mzeak3W8S3a4LsBswOyyiNY/9lg5eU18IanhsqqYrgUWDNUv3Y8V1hq2/tLRM3JUwLOHfWEla+9gxXW4qRl9/mnVYbNFo+y6mnsRxnY3+v7lOB5Z/X4NPFk83PtnJ9nOIeYSwllggeNm2kxAn6aN7vWpACKcHOPU5v9tBMinbc0dk1s5joZM1nxhHdynceMMyswY/fiOvXG+7WeN9qG8OvDTGt3uG7d0h7MX/FN+Uh4lIfu33rK81HCnXw0L2J4ogF/GyyrN6Au6ZmJjzLDi5AyRKz4lN3AHHBUtKx9UdnIDQGCV+rciTt4Apq5D2AaTzsBwUvD1RXSgczlmiB16McYyulDA7gPSoNjg2tgVJNmHoPa/7rop54gDiysLQKzY3nTU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6581.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(6133799003)(22082099003)(55112099003)(18002099003)(11063799006)(10067099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PNXmsMH15/y9soBc8gOh6FJzi6Snklm3PlPx7s+SyoDyCEUcVdZ5ZIOMGuOt?= =?us-ascii?Q?zq34XzOiu67FTfXUjwRzeiCbXNIIOT8EzK3co8PQME8eOb8kpvbiVxrCYlv/?= =?us-ascii?Q?nHoJbefziLyd49BmoTdjY9BTCk33645R1VZGXyRw1d44jFt1czjog4Nh8o7u?= =?us-ascii?Q?KcLkVVL8AvKNKWEuKFVHnK7UvqMpZwhylsUYMhMEdIafVzwgauOuErF1CuNQ?= =?us-ascii?Q?CW6Z6WO9ZgKMnerf4I+076roLWQ+K39Fp17lUmltmjhsGgue6PNEQ2et4SNv?= =?us-ascii?Q?xEgzrMxqgzbhDIK8rOTfh1F0e/AFPyZHVoL7CYPxn86+jYN/oZXgaZbmfMwv?= =?us-ascii?Q?qrpHtApiSueRcZ1e8uHGfw2/gAP9Ly24db5pQcN+btCP+O0LmqrZUoxA5d1U?= =?us-ascii?Q?oLzHN4anEO5BU8mQM0GTOdF7e7TNCBIzwRbp2tZhLr1ZNQQk6if/GDfdOWdx?= =?us-ascii?Q?rtcFRbFxTmHes/uLQDN0hhds2AIxV+MW/x7naq1u8b1OsiN3jp0QqskMYJsG?= =?us-ascii?Q?nWb+j4am1kQ9GnbfS5HaaEdXupso2ssd86cmhvQF8jCQBDHQlnlxSfLL+NLa?= =?us-ascii?Q?2gy6sOBLdWht6H7CEIwu/VQz5n2OYigAIIr5/K0tTlmqnLsMrJwfFkk2pRLC?= =?us-ascii?Q?fccR58ao9TtbUz3+rh5LFqnLOVI0WubQif0xsTxkXipeLjWTmo++HZ72/00/?= =?us-ascii?Q?v2HzVYHl26dN8MAvxh2RBfnpEu3CENrXZdHhk3T94EuLtnZDUjvhj9XQsSTN?= =?us-ascii?Q?wSDwGOqHuQSub7MO7P14QshQDzfKWdd7qS+KokA33iuEE99eblnQi/fGJhgt?= =?us-ascii?Q?TEbHUyzWHUByEKLH6UdWijYJibLQ3bKCsUGMde6Z066AoWl4qP0QR2dpxy4p?= =?us-ascii?Q?jCO6PP0X1r+6xdepiLLMSZ9Z5THOnWRzH2YX0zZ6NavGjGnJYelCEiJCNlqH?= =?us-ascii?Q?bipusE+HydkkqsbksFxa9YQ4TeA13yr/9zw69HXa19Sp4dn47YzYzNim8Rg+?= =?us-ascii?Q?xvuG7mbzwRvGShjSxZt0kxDvTIJAu3kQ9+GdoZoi6EmKCHHci4CpywbF49tI?= =?us-ascii?Q?iQ0nuUVfjJMPOqpbNVP0uZvX3eHYhCOh6ya6ppu0v03w4AjdP9wfnu3qumKs?= =?us-ascii?Q?JjwSImxJTZ8LMVn5o7DQQeLBjr1/rXxsR5bAl1glKuOwqmfbltJ0ap4/P/2q?= =?us-ascii?Q?aIl4RIUGzAzXVL34SOBjKBDvsCmSoYvp0WHFM0JFpTTtHr1rdtaT6MgS+5n9?= =?us-ascii?Q?sV7P58IKnb3zilwaVLBeDXORsjent2uXcQA3zkNP2EoiKEQKtGrsoPZwT/e7?= =?us-ascii?Q?DeTgo5/Uw9qK1hctsdL39CGZydcI/wX0fEtzGaPbxOGV0z7lFYcc08UUtovr?= =?us-ascii?Q?sW/u9uxCgxTOMdOzhf21LtRFw0wlKfZ4awjgSCAPwyaorq3ySpZa+tyZ/CjC?= =?us-ascii?Q?pEEIAMjtx+WaUGdNyFyL9swcUi6vgRzuKCGO1PLolNZ73fEH2rNBejPaqoid?= =?us-ascii?Q?PkczvVMShuSckJnlwuLBRD0DH9X8GFO0xXnKXClg2GGF6MV2EukIub2vTOBh?= =?us-ascii?Q?7+WsHeH758zr1OgxMjf8H9ROOXriA1t6WTAnOS1Qyd9VJkPTcUZcWXEg5V/B?= =?us-ascii?Q?aZVky60u6zMR5iIdlLrROKmKJzbz5Ivu8ud6sDUHpkB2viEjDG0cHYtSQ8s+?= =?us-ascii?Q?hciqOOsttRKvVYBaK60sSfiAFZ/0UQImzh7f2L9urKF8Qmm69YvqQ5ZFp4Tp?= =?us-ascii?Q?BRfwRtjnKwIkhjs7UIPxH8dlXIpvDPo=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b21d37f-8042-4f37-8b2b-08df18c2f8c5 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6581.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2026 16:02:58.8015 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pnJM2YkZNY3rkwyspUhPd7n4pISxcnlXRac+RWFWI0pWj/6+DTCsE17Egx13XpunPBT6K/INIeF/ogCOG3p7N6uiMIZ70JAcT7wBYMmt2yE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5918 Content-Type: text/plain; charset="utf-8" Check SVC_STATUS_ERROR before BUFFER_DONE so a combined BUFFER_DONE | ERROR callback aborts instead of being treated as success. Clear priv->status at the start of write_init so stale bits cannot leak into the next reconfiguration. Signed-off-by: Adrian Ng Ho Yin --- drivers/fpga/stratix10-soc.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/fpga/stratix10-soc.c b/drivers/fpga/stratix10-soc.c index 3ba0ffa1d9e0..c16ed571630b 100644 --- a/drivers/fpga/stratix10-soc.c +++ b/drivers/fpga/stratix10-soc.c @@ -183,6 +183,9 @@ static int s10_ops_write_init(struct fpga_manager *mgr, uint i; int ret; =20 + /* Drop stale status bits left by a previous aborted write. */ + priv->status =3D 0; + ctype.flags =3D 0; if (info->flags & FPGA_MGR_PARTIAL_RECONFIG) { dev_dbg(dev, "Requesting partial reconfiguration.\n"); @@ -319,6 +322,13 @@ static int s10_ops_write(struct fpga_manager *mgr, con= st char *buf, wait_status =3D wait_for_completion_timeout( &priv->status_return_completion, S10_BUFFER_TIMEOUT); =20 + /* ERROR must win over BUFFER_DONE when both are set. */ + if (test_and_clear_bit(SVC_STATUS_ERROR, &priv->status)) { + dev_err(dev, "ERROR - giving up - SVC_STATUS_ERROR\n"); + ret =3D -EFAULT; + break; + } + if (test_and_clear_bit(SVC_STATUS_BUFFER_DONE, &priv->status) || test_and_clear_bit(SVC_STATUS_BUFFER_SUBMITTED, &priv->status)) { @@ -326,12 +336,6 @@ static int s10_ops_write(struct fpga_manager *mgr, con= st char *buf, continue; } =20 - if (test_and_clear_bit(SVC_STATUS_ERROR, &priv->status)) { - dev_err(dev, "ERROR - giving up - SVC_STATUS_ERROR\n"); - ret =3D -EFAULT; - break; - } - if (!wait_status) { dev_err(dev, "timeout waiting for svc layer buffers\n"); ret =3D -ETIMEDOUT; --=20 2.49.GIT From nobody Thu Sep 24 15:10:09 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010056.outbound.protection.outlook.com [40.93.198.56]) (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 81B81563FA7; Tue, 22 Sep 2026 16:03:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.56 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790093001; cv=fail; b=g168M5s7e1GtZDQqKlJsxVwz+sH0ULFJtok6rjY9Rz+4ZZadL3AuUNW5wqknwXti+5bIFLdoWnhCFPFUR3Un85h/HfP0EyzSL7O+iWoqblm/Xsp7L0RcFMYaq100t8Do9z1tAKN2/1T2zlvfV1NILrlpIW7BoZtMvKbWNlop4tA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790093001; c=relaxed/simple; bh=tpk7nb1O8UvWMbyIIDaB6zea6/ld1kfa/UHbXj81OWs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=iamqjAIUp5r8faJMxsMjPyqy9KCI+7cfm0pN+bR1POC4azyZAgvigYq2JuqnlD6doMrX2QlBkHqFTq33XGZQs2ltWfk7YDRda78aMvZNilTTQ8nwKEjB0QV4aX7g8mjqbAlhTipObCQwiHF0oUT9gPg7fLOXfW53OE0Oqh4gmYM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=egvWSG8U; arc=fail smtp.client-ip=40.93.198.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="egvWSG8U" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ik6ZawNuUnr5YLcNmXR+zImmub8U+FoOU4lngHL+YVQjee1yku/XWpSSN9pvEz3LElesdg0MBtwdVC41UZLGzUh9StxlS+ZM02NWKj3hUhohKsri8Znh+NDESk4pbNS4qgni0s+SVhwxbt2hfFDNtGvN9DolPIz/0w7iNlI2TWxxP3u/t9qjd4OPvJ9oQS/DFuYOBU0pVBg1MKUYJWRuKKVFTqynXqqxhJD2Bl10lXArSJShrZkR+YgSwQzzyjppH0wiHeAQ0nJ+2FLSeZZovPa6veqqVXjMo20yJp94OmygZV17a1vQkKMo6TU4aW5rQPmDw6LSfA+HsShKxWaVSA== 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=Dzqh5tx0Re8YWTO05rh2TKHGDFkQ4HqLSaHb4+vsb9E=; b=oWuQSZXGHWCC33K41pE2uu/AAKgNF561agbuDFvkn9BPFyPIOkzQiL/4x7AHg51adxqeZ79qzXClSWwqw4iQcqFu9Vvhpdf5xO6XpgYqWJ0MyR9GGUyGsZWV97PPDt5DVrEnp+OBeFWHiH/mW2xXiOf8ix2HbgE3FadNyzLi+EAosVzXHJmpWlo96AisMWDX2GuZxAJ4cFryj52Z3q7+VaGwijAeolF3z8n9cy7iOabNMhQ/dqK1YlhVUpGP4cLSqNXnzHeqyd9HSNnPlxVYizvfo6dMP+LUF/OSrjeyS2BPuOxIT2M4+/RryP1hJ1TV3QnckiFDL+988tsCxnwfbQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Dzqh5tx0Re8YWTO05rh2TKHGDFkQ4HqLSaHb4+vsb9E=; b=egvWSG8UXiNpk6dpUSeuEEjkBx6QAqyl3VXdPkvTd4/PQ7h8nyTS5jwSSV85ZyK14rPEJkrfne4VgEc3qyxFpFpRsHxQqlod1SgWld7FHtJJMKKIhpq1Qr75ueqUQtvDTQOaNqaz4qAHLWIJcBuMhzO43yZKw2IlpiVAf0oafzJ6fADD3opbOD9if2Osig1+rWRcj9GLUO234n+Vl9dFYw+FkM1dWJuMokO7aHa2+FgtEWEOwIvEz0zVdNiIhEZKyLV3KwgVQ3+OvhLMWvMeQk5X8Ps9GXzNn8MxXxJNrMPG31pYEqPmP7mJFYsc/cR/e8vc5nn3zuKt0WagQwe41A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=altera.com; Received: from SJ0PR03MB6581.namprd03.prod.outlook.com (2603:10b6:a03:393::12) by SJ0PR03MB5918.namprd03.prod.outlook.com (2603:10b6:a03:2da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.13; Tue, 22 Sep 2026 16:03:01 +0000 Received: from SJ0PR03MB6581.namprd03.prod.outlook.com ([fe80::e335:b86:cf59:8b80]) by SJ0PR03MB6581.namprd03.prod.outlook.com ([fe80::e335:b86:cf59:8b80%3]) with mapi id 15.21.0428.014; Tue, 22 Sep 2026 16:03:00 +0000 From: Adrian Ng Ho Yin To: Moritz Fischer , Xu Yilun , Tom Rix , linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Adrian Ng Ho Yin Subject: [PATCH 3/3] fpga: stratix10-soc: floor config_complete_timeout_us Date: Wed, 23 Sep 2026 00:02:43 +0800 Message-ID: X-Mailer: git-send-email 2.49.GIT In-Reply-To: References: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR04CA0013.apcprd04.prod.outlook.com (2603:1096:4:197::6) To SJ0PR03MB6581.namprd03.prod.outlook.com (2603:10b6:a03:393::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6581:EE_|SJ0PR03MB5918:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e115f37-4e1b-4e12-84cc-08df18c2f9f4 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|6133799003|22082099003|55112099003|18002099003|11063799006|10067099003|56012099006; X-Microsoft-Antispam-Message-Info: 0fY0u38slfWSI4J0oj7USWfqgnf9q6Z5/l1pVHZFpU7POJd8timEch1k4aAfZert6njU3JWrx0OdzQs1z8AHcgNseDFb7jV71lT1+gj0k/dpNv8DpGU3B7S+0TKNxKE8Q43qnLMYdbIKCUA+uMk9b1DeFAbydQoZaKMg1FEBWcatIreazvP9Y+GtSdLpOlm2UFExCzTIHuyOSmdyLtxBMIDYKFR/aTH9zqAfBPhVE6tK/dXvgSua1bGW7eX9+Zb0fHaAL9dEeD46HAr36OMYtYr1Ed4xlGNrjQZeSj51/o2xqmtAy+G/fNAdGrbf8f2g4bi2wWkw8AJO4EV6n+tDT6U4f6BRjU1pGsIOH233e3Yn8MYnAbzAmj0BhoG8E+5yc7/P77c7Lbyvf6N+4dY99TBG6Btj4+sZyjQIe9GQQrEPjgiOh7RYCB6DF1ipyMfR/SzgKL0XiPvhspA5LAevriLHqAyEDWnFif4ohlygEAqbnrDdH/ZUteB+1XlQPx6EMtZ2nD+/JXZCh4HHO40Tn5EFrTMnBlMH9jCy+yQYEP4owhH9vB69MQb2YDYqJog4a4mZau5f2rzIZB7p6bFVAyMeOBn4ugZHZE97h/cIiqDiU66W1hSfsOAfn6WZXxNQUZwbrhcaANpCpywhKfUwtMRsdgkquHTyrtlNzTEepW8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6581.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(6133799003)(22082099003)(55112099003)(18002099003)(11063799006)(10067099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GfvjijtobL2S8r9LuIVQJqDUqwZzkRu95UQdURFjk3oihBMRXYgXurDUVzYo?= =?us-ascii?Q?F9nlnRNKRX/10bn++M/jZPxyZ5pdPRQaYmDhliWk3N6BCQSV2qc+owmWzguA?= =?us-ascii?Q?p/c1hfckpDsehCsb+NdkzHTK2ZPKNFnKY5UyZsUmL+QiFBQLANTCusrg7OvU?= =?us-ascii?Q?jHJSTvDetyBKLZ8lt51+8oNFHF1ZNqLuwstW0dMOaBUstbeBiTUHOpnx8yE1?= =?us-ascii?Q?23QGRDiO8lIVSPj8ZtEQXqMP7cbcRyh7XJAifkywBoKv5EDVhkJuc1K6NdIl?= =?us-ascii?Q?+94NMaUIqsmleQo80S4a/A97Vl1Uvu9Kj2KxDS3C6x1yadcto4Pq9tOGsEZg?= =?us-ascii?Q?R+j6qPrO1yV5F2ryfws/unQznZrlD98ZaBRToFSC674plSip/POBECycxZG+?= =?us-ascii?Q?qFRig5a89KNkkT0Ad8zaQaA9omI/dmJZCLkK/HYeU7tde6lw3u53g8ibB0Nk?= =?us-ascii?Q?shuTcH5+WkEAudsf5eGnBQQP0yPecHtYIBWLu0VNBQAJV5mN63J/SeSwqjHW?= =?us-ascii?Q?Lu32jDo2acXQvGrOQ7rGI1dZfDUw5TGu91rmpemHB2eyRC9saR/WpdnCi6vs?= =?us-ascii?Q?jMRLByd38Erz5/wJ8B78w4lMbjs4pj4j3hv++Knji2zcE0Y5FMkYkZSsSsVy?= =?us-ascii?Q?wgqKTOCreWui4djStomRGpnGBWLi5wlu3vrA0ann9E1bGJdfHUuPFyHrfigR?= =?us-ascii?Q?J1bModSc2B+wKs6XSFGlWnvsvsC1lxvvQ/iXwKBSuw2QEv/17idEeurOUyH7?= =?us-ascii?Q?myTdIeTAkCf8dgLILE3HKL/KDGRk0BsKVuwkMlMEC3cDrFhiPLZViB1j2b/I?= =?us-ascii?Q?H2MP8o/ofGklT2UVUNg7rvMfhKn4hwhJDKa/KV/HT8lZWjDUTh86WrsRYjHN?= =?us-ascii?Q?K71xwEikTVfyJt/uqEPoNujohAV7Z7gt7o8rvwW4m7HyaaEE2wsmhPd2/6j8?= =?us-ascii?Q?RCabKPiMzloR/4M6P1VYCe3DQx5d7LO0P3BrIA0p81kmCwIQRsYcRUJo9Lf9?= =?us-ascii?Q?QcVQrtknRd7JyhNOanaEqYtbFCCFgxIK2FqCbL4S+NlGTHIV7K0sfh1IaWEJ?= =?us-ascii?Q?QQOXyDvlk1bqmI8zh2ItExzEcIeUUif3Srmg/7/rOFu+ExAYgRJ6ro7VEf70?= =?us-ascii?Q?zPMTlt7wLxmz7c6vd+MyP8pKnyO5DBY/dW3gz1jXDgVDW419OMO1s49yPbhG?= =?us-ascii?Q?wmuCNwvXjIBljNizrCMkUSON3z18z3h33Evw7JvKz+f9DCHUNwqvy8Rf3mcA?= =?us-ascii?Q?pwvfJvxX8MJtO+68J5Nj+PQsSQg9WV2GaDzPAb914laljCcVdqPIwwOCvpkg?= =?us-ascii?Q?1RXBWCWAMJmbpuXzRwX7WswsHb5heELBvMWP7ie0wo+FWWj+6L7s5X3teevf?= =?us-ascii?Q?82+DgmKt1NVkWWnrC5ZeI5Li2KWybLjfzGlegnBeIPeyscKkwrMOPsJZoNy5?= =?us-ascii?Q?ZHN9k7Dh7DEAFEqDF2q3YyRFd9zR9SHBlq1hg70Dcnu/Kmt0BKsEgsNLmuWa?= =?us-ascii?Q?/akW9/eO/UgoqXkr+UbhhyvaNjnBU5Bv5fJmAFXEiYWHJcWLdURYUbh0FTY1?= =?us-ascii?Q?V6yXCTZ9WeP1wzftiCQupTeD57VOzbGALNV2X3/YifLLougt8vWkN68PemS4?= =?us-ascii?Q?Rp6j6u9BCQzketeIdgqylfBaXxSQPqJ8tBxizDsKhXM3IJpdudaKrRiicAYx?= =?us-ascii?Q?wdc8reDIPyXFHAv464ZGcKTEx9jNWZ39sgfTnwwMKWyDSNq+dB16EjbiO/sY?= =?us-ascii?Q?hvbuUTKfpTZgA9JGUUZkpDtO51AD5IE=3D?= X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e115f37-4e1b-4e12-84cc-08df18c2f9f4 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6581.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2026 16:03:00.8020 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xVrJu5IjfGAp3fxi9ylutA2A23kaz5bLDzKFSILJ/h7r2LjBIKBIUUOJs5CGPSvZmu3LdzqZ7oQhwdJd2ttU5S/oolSgkjQGPMCCIzhdV98= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5918 Content-Type: text/plain; charset="utf-8" Keep info->config_complete_timeout_us configurable. of-fpga-region leaves it at 0 when the DT property is absent, and usecs_to_jiffies(0) makes the wait return immediately. Reconfiguration also takes ~600ms in practice, so enforce S10_RECONFIG_TIMEOUT as a minimum floor while still honouring any larger caller-supplied value. Note this prevents a DT property from lowering the timeout below that floor. Signed-off-by: Adrian Ng Ho Yin --- drivers/fpga/stratix10-soc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/fpga/stratix10-soc.c b/drivers/fpga/stratix10-soc.c index c16ed571630b..83590e6b405f 100644 --- a/drivers/fpga/stratix10-soc.c +++ b/drivers/fpga/stratix10-soc.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -360,7 +361,15 @@ static int s10_ops_write_complete(struct fpga_manager = *mgr, unsigned long timeout; int ret; =20 - timeout =3D usecs_to_jiffies(info->config_complete_timeout_us); + /* + * Keep config_complete_timeout_us configurable. of-fpga-region leaves + * it at 0 when the DT property is absent, and usecs_to_jiffies(0) + * makes the wait return immediately. Reconfiguration also takes + * ~600ms in practice, so enforce S10_RECONFIG_TIMEOUT as a minimum + * floor while still honouring any larger caller-supplied value. + */ + timeout =3D max(usecs_to_jiffies(info->config_complete_timeout_us), + S10_RECONFIG_TIMEOUT); =20 do { reinit_completion(&priv->status_return_completion); --=20 2.49.GIT