From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0DE9746E68 for ; Thu, 4 Sep 2025 12:18:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DAD474027D; Thu, 4 Sep 2025 12:18:12 +0200 (CEST) Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013059.outbound.protection.outlook.com [52.101.72.59]) by mails.dpdk.org (Postfix) with ESMTP id 683DB40281 for ; Wed, 3 Sep 2025 13:11:58 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vrn2ujiIdU1kgG/pzLQlhvXFDozUw2cQ4xi8oG1DnzliJyhWdwO6f6G9n92ncbRjHqOaKSQYNL7stzm2niI0tPBAxkgPbj8BzQ3wNgAmMAJv7Hqu/tJ4+n5BwprbFy+G9RYVcwbapctnYxbFDWvmq0+brKoGivMczTawbyt5+bvC0Td/AEsLirdBPyQ31EqBiGVpvAFLmFw5Pr9NKZZELYZtFqYGAVd+aaHGkLoEo78C9Uwla+voE9Ia1W+fO8bsFC+ND30k+q5n05U2vqGiLI9mmGsh1Rb/InA2be3/WFa8XzvdqlGuWFfHjU15E5N9AIttggbFtmdLlr6y7N19tw== 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=Ah4NND0YlgrWgWbDK5uz53JglXo2Rn/8/jju+0f5VpY=; b=Iiwksg3DSvtspOiuJ5HycJFGRKwr3E2ABKH2Q0KC6YrBCIVuVyjGG58Aivo2s+NfdfuFwDLnxX90gtVmcPlMw9y+4TPx4/N2bF865km033Z5ugkjtEDpY1wvsXF81n5JRS1YTUgMqJlcS0/vIgBY3ro6cry7TBbIYPyHDDecWzEC88N8dRWhDvyt/OL4meRSSXzJszHB5iXOlIbGnspVkK2Uo1a1Ly6DFag67pCYuMBXfFP6ceQERLwX94qpSYfM3jzaAO+v6DMvKyHWNAA4abISD8fnPY47PC6F5qld7Mb+ZjyPJ+H+hzzJPcNHCH/aSJGhi3YJ0p4Bo15g1r3r0A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ah4NND0YlgrWgWbDK5uz53JglXo2Rn/8/jju+0f5VpY=; b=TWEJ5yDynQaK2/HSz4/kI9lP97Sg625EwbFyuvP8q8cMTdwTNGv3YrQFNOLUQ91fu8lfIE7JvNKS3awoNwuh59n2EsT9a3b9Zox7W2jeHm9WooUz7rsHmiMmiV9ptmghmB8VlEIUbjJ6hLZzPNLsUbQyrGjI8mrGbyadnfELoT/DKuUJkhOtQeegKZRhGGOzlLHq8yT0RACntZRUK98A45Dbg8PxqS6SmELqR5i2wtzKqWYwMKSJ0214B0fqAXA/PWckQFySYtkwuWyZ8yyZvf01TY3HXb+DLOvGWywkWYli+v/8k4635outXGYIOv/7vWet0tGFB0m5VXwKbxlY2w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nokia.com; Received: from PA4PR07MB7424.eurprd07.prod.outlook.com (2603:10a6:102:cd::11) by AS8PR07MB7302.eurprd07.prod.outlook.com (2603:10a6:20b:256::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.27; Wed, 3 Sep 2025 11:11:56 +0000 Received: from PA4PR07MB7424.eurprd07.prod.outlook.com ([fe80::34b2:3abb:5dfc:2137]) by PA4PR07MB7424.eurprd07.prod.outlook.com ([fe80::34b2:3abb:5dfc:2137%5]) with mapi id 15.20.9094.016; Wed, 3 Sep 2025 11:11:56 +0000 From: Thanushree Sreerama To: thanushree.sreerama@nokia.com Cc: stable@dpdk.org Subject: [PATCH] pci: pci_vfio: Retry vfio setup device reset, if device is busy Date: Wed, 3 Sep 2025 13:11:52 +0200 Message-ID: <20250903111152.4949-1-thanushree.sreerama@nokia.com> X-Mailer: git-send-email 2.43.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: FR4P281CA0184.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ca::19) To PA4PR07MB7424.eurprd07.prod.outlook.com (2603:10a6:102:cd::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR07MB7424:EE_|AS8PR07MB7302:EE_ X-MS-Office365-Filtering-Correlation-Id: e412970d-4f7e-4d58-ae6d-08ddeadab1eb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?I+ZLhzpBBgjL2VheJxDBjdGOVJKThTDngaC+qcJe8r4nD3yUVEc82074nk+E?= =?us-ascii?Q?Vy6/sBZO0sA68vs8J+ayJrEy/xrRQiwroQo2pwNEUFksQgzrtiDU5QtZ75/l?= =?us-ascii?Q?bl+a9fPhGvjX2rgyBaVOTcLMNLi1QBhaShXqFavHCfI8H1uGpQafvuml90UJ?= =?us-ascii?Q?aZbW2IAL3ouYpNIl3msXaSG2z7k/tblEIpY3YcH1GQ/0VdCzQmPvRGjQmtcw?= =?us-ascii?Q?MmLd+z3d11FmkcJUTaaJWmkNVRqOZ5wWiSOMxJ92T5jbofNmidsPpFeqcBNB?= =?us-ascii?Q?VvvZxhj6ojSsrL61wXc/PB8XE3KyEYNx34jyLybOibZsu38OR9pPq1ERwrp5?= =?us-ascii?Q?A6LxH4gX9miUy9P5cKa41VjmAC8J824bxlqYw4fpyVEDpFpMhl8Htfuzn4/I?= =?us-ascii?Q?KC2BNcmLvwdHIb6fyP5RaNUn509wAFie9gI3IjcxLKVFnRMuS8YZYAGe1pJ7?= =?us-ascii?Q?fyQkyiuox+Ckzighynl1om+YAD31sC6F3KurL1llAlZfvu3zCSUD8JikwrdG?= =?us-ascii?Q?IFrTIW+p6W/7AEEOnvl9h43XRJcB+rKO8PCBA/cTMdQvq0FbJjpJEkVLdsU5?= =?us-ascii?Q?r4vzHFGItnaaMmh+Qokf6wmubq+miu07bTz/Zv/FOjgFGdNotDBUxc/nc891?= =?us-ascii?Q?jH1c0AFXwqVgfyOTjXL8LEzjz5OOKWsYpUXRAcsjI2ZvMrY1r7KNB2HOrivA?= =?us-ascii?Q?9nF+6WjV0Y7eW+3kJj/FxxKdrIp2yHXyEKq8LcR1mkCQxmBOSDQRYxxg9cHJ?= =?us-ascii?Q?4qjicRSkoc8g4iclnUrcjULG8Ca5CNXf+RvrAnF4c50vXT4S+nRPDUZe9FoJ?= =?us-ascii?Q?l3RQtWvWz/sDNpomoRTVPsQYa1RbdrwMj6PaKEGaPbF7CAsecYD8mf8t/zoN?= =?us-ascii?Q?1xo0dNVXXfp9hXU245yq/RTeZKknyweZF1LE0uWclQOTmzzVjdm+NJ9wSnF8?= =?us-ascii?Q?6KFBcJ5bJ6jpiU5NvTzjXxfUGjcXwNVHTL3e8sob/JcNPyWpi/nFRZjK+maa?= =?us-ascii?Q?pbcM8WZ37bXwRHh5rjV3P1uKSnjkURAUZLCy3uv2w8coR6tvQBka63YIR0jw?= =?us-ascii?Q?wH67RVEOaHoA+1GD4kDjJxNUqSc08bbXdYXdcl7ekcC4nm3dTpZrwQ6LpMr2?= =?us-ascii?Q?wKnHwNKRXv6wOHyKvm2uBTgPjE5xDHfl2fW71eGs20omVxhoK2OGpTejaEA7?= =?us-ascii?Q?oRNMfozLOzV3sf9mZ7KsKeUfuQqDKnL3p5HDrlHOdwlQyVkOq+YXGFExBXQq?= =?us-ascii?Q?hXSDVR/FeW0PVhFM9ZfjKYzvlV/e2GAUebhrJs7tgUn8uXQfKpBjiFM9Atyy?= =?us-ascii?Q?sC/C4AfQyU1hgg/Y9eHaYXxUkIJeKM6NIujbtL7rIfxfv6/tMHnVByj/icSW?= =?us-ascii?Q?Y+giXJdoBwCRjz41byNaejolKu0iSTA3pv7Uwo+5h0cqGbgHYA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR07MB7424.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(7053199007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?td6d6maLL+WBBCaSMQvGTRvtRiKdMPKe07QKrijT+aAT/69JG/bCsuzcNm06?= =?us-ascii?Q?PCB7jslfcKuAYhALd8pAMicIuDBF5sLejPd/vj+SvIKqRxBm8SPz2SfYHe44?= =?us-ascii?Q?cB+I/Wawl7Hra7HHyeuD0GJJARI2AEPoCPVRQitYIWj6ACmb5wB98zfG285Z?= =?us-ascii?Q?0qFLnjjJCza77MqQHGnR6hJBHQBLGoxr0B2Aap/55d82m+lWW7l3SobK3TyM?= =?us-ascii?Q?k/W0sJOZ76eYxp35D+W+148AvRkrP1wNJU99tdsnUa8q0pkaxapuAXX1wgJ4?= =?us-ascii?Q?YPRjznegOd+gococG5LscsAOq8VkLy/gQZCLT6rVlDZa027BuRjx8pf/emvT?= =?us-ascii?Q?tRBbQIV+yNgzevIcPJwLcMWUaUBAePX/cN26pFX8wi4gsB/VibrveJpo8sOL?= =?us-ascii?Q?Htck+1JNj/lKhkgHNjBcdL58X1SYq1XkRKtVFS+M/J8QN875Vw+x+ZRH+crT?= =?us-ascii?Q?gCteUMnn/1FKFUU+JzKdc4oWfJZtu07zkekOx4cmP4ceBLbKUVEYqwYBL7XO?= =?us-ascii?Q?hZIxhurgw0/iObqU+Xie849IZPjWcK8q7imUZjKOMutUw9OB7DpRCUicPXpv?= =?us-ascii?Q?gNmEfOjiojamf2Wd8F3DKn6innrJXi9NNTgEVXVkUI0lmXjzbbLnxaP2FGTH?= =?us-ascii?Q?8j8e7lErwbQtghGWhJ/X9MxKZ9g4sTEAbL49dasvE+SDG7WC17iEMwmG4mUt?= =?us-ascii?Q?C9IBMYf+wPjgTd0BvhhMIHDpj25wU/mV2lM1hIB16TDhzLK8xgeWjH2wKCdd?= =?us-ascii?Q?JC47CA84roUMuK0donwVwmWGUU9IgOWcCSY4okQTbObZmUEHn6SCOJr5m3tu?= =?us-ascii?Q?UmDtLP8FHjWxeF0dOFSzney1JDBXiyOwRXSIjOmpkt24+A+1+xOikufdMi7p?= =?us-ascii?Q?tRTrNEucYtxEFMarNsFsQ8aBK0EjKV6qKtLevMxotceOndAne6kDIDFuP7g1?= =?us-ascii?Q?Xo8MFIRm7Xv7TTecIoWkvvwjkJ6PFI8TWP3mePcDgBYE+14UdpYNui1TgI49?= =?us-ascii?Q?6dgStEwlgQp9DwW8hgXrhg4PY1/xucUHwjxfiH/v3V21uGSRFoC3EWPuKtn9?= =?us-ascii?Q?56A0G9MYCI1Y+wyzjweYkglIaHgRhWKb9DnOleLnFI6BP8Sc8A48eHbD87Ch?= =?us-ascii?Q?2nai24wAjRLpsejqGtVv5jRwJViwibbTPP+hDmto8CbyqSucv6KGma7AuMQs?= =?us-ascii?Q?/m/68Ey0BaKbxEFHx+L3TI4+qcL7HY+egVMVhPd0AuyuBfOc309xsFgduMDj?= =?us-ascii?Q?lpVWWDbTIgS5+XQIkCYEbdG9plgZjNC+Li9nQqVgRo/YtMwVIZySIByas6Le?= =?us-ascii?Q?S3sueZA+BMPdwebzkPMV30+5MVgFMl2bKnBqm4Qun5x4mVxpOosUMobMwn2v?= =?us-ascii?Q?eR95OH1T0OcEhTAfSuXjq8w05snim5vuyD+fAJLB74T8ksRqgDKqsAeCbuFL?= =?us-ascii?Q?TLP1y4nsDjh6Fw4NJyx3YPnA8Vlj0iEzgqqBZe45vM21vqCXwqCQN7rsVooI?= =?us-ascii?Q?iiGTsZUfoM9jYI4AaszhyIZCB6gwwkoOH7MSS7niyVLZBGhOfM5b+lGD4tRR?= =?us-ascii?Q?bV8MtRD/QFIckfcfDx/DVnH/NnS/ziliFRBhNX+3MGp4r/ictvw29KgvtkeF?= =?us-ascii?Q?5g=3D=3D?= X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-Network-Message-Id: e412970d-4f7e-4d58-ae6d-08ddeadab1eb X-MS-Exchange-CrossTenant-AuthSource: PA4PR07MB7424.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2025 11:11:56.7218 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0yiFMBrY/Hl1dHjMY5SDXe3QSI80HUeFZD1BEPsZK+3ctodSRCzcyugR5RlNhd7IrNJ/FmuOcuKqjPAIJix75T7vi1yrnDI7a2sejB2MQws= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7302 X-Mailman-Approved-At: Thu, 04 Sep 2025 12:18:12 +0200 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org From: "Thanushree.Sreerama" Add proper EAGAIN handling for the device setup by retrying the device reset Issue: asc-0a Disp_0[18237]: EAL: Unable to reset device! Error: 11 (Resource temporarily unavailable) asc-0a Disp_0[18237]: EAL: 0000:f4:02.3 setup device failed asc-0a Disp_0[18237]: EAL: Requested device 0000:f4:02.3 cannot be used Caused due to: 92d847a35e1 ("Revert "driver core: Fix uevent_show() vs driver detach race"") Cc: stable@dpdk.org Change-Id: Ib0a55719dfd55b06ccc1dd6683dcd0ef1bd002ca Signed-off-by: Thanushree Sreerama --- drivers/bus/pci/linux/pci_vfio.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c index fab3483d9f..20e212c9f1 100644 --- a/drivers/bus/pci/linux/pci_vfio.c +++ b/drivers/bus/pci/linux/pci_vfio.c @@ -478,6 +478,8 @@ pci_vfio_is_ioport_bar(int vfio_dev_fd, int bar_index) static int pci_rte_vfio_setup_device(struct rte_pci_device *dev, int vfio_dev_fd) { + int i, ret = 0, max_retries = 5, retry_delay_ms = 20; + if (pci_vfio_setup_interrupts(dev, vfio_dev_fd) != 0) { RTE_LOG(ERR, EAL, "Error setting up interrupts!\n"); return -1; @@ -498,7 +500,19 @@ pci_rte_vfio_setup_device(struct rte_pci_device *dev, int vfio_dev_fd) * Reset the device. If the device is not capable of resetting, * then it updates errno as EINVAL. */ - if (ioctl(vfio_dev_fd, VFIO_DEVICE_RESET) && errno != EINVAL) { + for (i = 0; i < max_retries; i++) { + errno = 0; + ret = ioctl(vfio_dev_fd, VFIO_DEVICE_RESET); + if (!ret || errno == EINVAL) + break; + + if (errno == EAGAIN) { + RTE_LOG(DEBUG, EAL, "Device busy, sleep %d ms and retry to reset %d of %d times\n", + retry_delay_ms, i + 1, max_retries); + usleep(retry_delay_ms * 1000); + continue; + } + RTE_LOG(ERR, EAL, "Unable to reset device! Error: %d (%s)\n", errno, strerror(errno)); return -1; -- 2.42.0