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 8AF6946E68 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 0522A40EDC; Thu, 4 Sep 2025 12:18:13 +0200 (CEST) Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.8]) by mails.dpdk.org (Postfix) with ESMTP id 2CF5740281 for ; Wed, 3 Sep 2025 13:16:06 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mYHsQJz4dQ5I8ea8oClbhhwn5CJy+9K650UWeupNEnitnfvxTUbwGk7+y6ni/TqM+rouA3Vn/BX6KibvYG91AVyFuShcF9F3VnuXK0uvrqEdhwPHUOBBDJbgiV7Tlsu822qHgq0HIDoWMcvjd8tNPVWxrPaQyVI3OsPt4bjk8Rr3bQc2imI8DOPfTsD7APVpJDcRB9QaoCjqnbGM+UDXnRfwfyhrHi5XwdjkuABHfbbAlnj/8HDklAd6a+PHpU2W9KMsddF1piRz8dsZLFU0BliqciUt6GprLANU6tHUfKD6/H3gGq92vvsjcH7CsNRbjUYORPS/tQ7FXpgTljLRGA== 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=RMTU0iAjQcON5RCCxdxyfEujTJdTp28ZubEo5GN7pew=; b=c/8ZdU984jo3KOF+XC83iVQLUDpRGFnPVRhn5CurlCVa4Tnz2R/gCxzMfAyXPSyW58ut1Rhtz2r1M6EHUKZSRWNKxKrJtttUYPw8PjY1oZXINKT6kJOkqvemuJT/+6MONBUbEWVx5ox36ADv/exO7Ua/t5fQMCjAUxvUNml9ysc+lzChwo8nR5r3+Yz8Ptxbky6bQdeCgLZpYdDJQ4StYyo5OpUGygOZG0zhV1PUelh846TIbnlKexczKhRX3V67Ah3nVdf63BwoyIrtuU/53celqFNMTEMEUUix9zvqRZFYkjxqIbs8Feb/gCUnS3YdCM177DgFTl95rOEdbe7B1Q== 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=RMTU0iAjQcON5RCCxdxyfEujTJdTp28ZubEo5GN7pew=; b=t2QyDN8F68FtLsZn571eDpYenS8brOzsqnC2B11lV4+xvX+JJEV+82IHDoAe0JOCrQbL9ZVPObInd2jwfP33X/0swhZk7Zab06GSL3fRavR0wvS/qnmvNhEMvH49UXlOd0pB7oIs3oMPzMp8RK1cmgd4EEKmRIKSo3byRibFe4S7DiaLsOzw8EsHddBpeia4lrOal9APcCw5dBcoWQPlIg8ICTFqaZUZu39t84e+2oXh8//gjlY5emfh6t1mmICU8APgxXZLFa6WXrbrJW2TGbyx+NoXc6msJAAo9pev1k6atYfyLuBM4hrIVM/IEb5jUjk8yhpkDoOorIJ9TDSnhQ== 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 AM7PR07MB6836.eurprd07.prod.outlook.com (2603:10a6:20b:1bb::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.29; Wed, 3 Sep 2025 11:16:03 +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:16:03 +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:15:58 +0200 Message-ID: <20250903111559.5026-1-thanushree.sreerama@nokia.com> X-Mailer: git-send-email 2.43.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: FR4P281CA0217.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e4::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_|AM7PR07MB6836:EE_ X-MS-Office365-Filtering-Correlation-Id: 1fe048f7-667f-442f-0355-08ddeadb44d2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?b4+oAmouxAZX3KtSlsiBn93R7l+bHvjFT4FMIuiAmEIQTgj52lAzWXQTJIOQ?= =?us-ascii?Q?ZdHdnbutPT2jlzBklG/nQo6NUtoWQIrkzM8ZjOia9/5cOYMkgodsrBinU6y5?= =?us-ascii?Q?rQ3N41R4WVMNOZPvPJwl/o8r9vOhpd4TY1Ve8w7dO9JcgeX8Ac3oYZ2CR1dy?= =?us-ascii?Q?mP7U4crcW+SEX4q7r1PUZhW4kf5bPmzkD8JlRkwUBuGh+jlTX5lIJcnrULhO?= =?us-ascii?Q?OWWVB6rM8SBrzEdV1Yqd2eWU9NQSb8CmmwmRaWJbZtB4j4naSsTBiKJ0vks2?= =?us-ascii?Q?zMW7fPqHLaYTqonn+1hTLYn2deTKogjotsTvboY02ArdKSck+b+dedNjUnox?= =?us-ascii?Q?n4P5NF8BoDhPXEbN4Mu+5cMtRenyOVIq5IBi/bdJ+dyAFUwQOoUUz2haVqNe?= =?us-ascii?Q?WFImoURW7tygb15nBEBGu/OwOkJZ8vsBg79z2Z2iydlDXo1Xa7IhGjJiPIKF?= =?us-ascii?Q?f//Tz+IXf86cDQDR7hg+grym9jVqFoMyufDAF3BoiuceTOfwI3CMAoDh8xTz?= =?us-ascii?Q?AD/MCndqth9DclylQYtybuopSl4m3rdBuEimMPayZMEg90CZLAshFvxfU8Z9?= =?us-ascii?Q?AxRLGJfYRAz8DIrXoyyn6aBZPlQ+SCIpwY8CPgeQnWPXrrFknUCGijCtEKY0?= =?us-ascii?Q?3Tu+ZkqaQ42A5UjRE1WeGyJR0KGRwop09IWZupq7aFWTh0/c4yMi4aTwVLDR?= =?us-ascii?Q?0ngIGHiS71oBDBnHER/F6Xy2RHGMU4MB6mMcofyGF5VKvR3LHdO70Bv/LUPt?= =?us-ascii?Q?e+xWgKiXrxxUjyic2ifhR5gG1+SCQEajY5iq9iw9goMg1qNArzogFGeIfAgY?= =?us-ascii?Q?OPl158+nS6wNysCFktitxBFnAaCQN4MJU91I870vWLFybEokSFvqqelxMRwf?= =?us-ascii?Q?Jf6WkfD6QXZCpTlQm5V2us12SUv7e9ky9m5tnWExKIT1H3ibjpQgtwHaecyp?= =?us-ascii?Q?pIusin41SLcrKsjfdaanAVWEv91Rw44P4VzazmBC4QfLUnnfC5RMG286VQ+V?= =?us-ascii?Q?xS8XOBVXS2v2zIepMkRFbDW40W8ltVwx9b+Zsf1B3mpKv6lRkga9bypzOk3z?= =?us-ascii?Q?4wZ64w6XVkVK1Vx8mDDZAXGBHJiCdvZFDrwPBBC99XyoSfDVEGH0umJYhy90?= =?us-ascii?Q?wyi+fDwiBT5KV3irZm8Ryg9KjCmp4TeDwW4RsFSKABGp9z4LQkH85Wbrz8s7?= =?us-ascii?Q?8B22SOfuTvgOPwIy9QlOlQaNEVszaY/sjzwF3FY3nTNOgDqzIg/hUHmQ9+x0?= =?us-ascii?Q?tg4/y3mtdnqiNEiPVTmmL2enh5AJQWuG+49+9TyJ4AbbEK87ssi0HtVgWgk3?= =?us-ascii?Q?HaUnrEkXKvvvEiEDrCR3VCDXnMNZhWAfT18tSVAPM2dhIKI+GXoWYED29Wq7?= =?us-ascii?Q?uRgAE5/smJLhAA7Bz+xUVczMtqDyj8ZoDfscw9lzq4CRhKF3eA=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)(1800799024)(376014)(366016)(7053199007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?VdQdZBdqOMbNNhdxpckQnfEe1EDxFMf/q/nLJySsgQz2lr+6siwUn5SUSVN6?= =?us-ascii?Q?sepGo7Q0s91xJIOPozpHOJXsHoi3ObMsSdpu9d3fdVaf+DZ1xc9KZ0m3qbw5?= =?us-ascii?Q?207swsG9tyKXSeLsdMHjOkxpy9tZ9MyooAg0eEG0oJftQcQKLUlv+nFUYR4f?= =?us-ascii?Q?S7004s8Fr/X7qzfKBQbmc3RUVOgJOBUFZoKKPc5zW7Nvvv50sy3Y1Q1JOnR+?= =?us-ascii?Q?gJsV+Efu5RPQ2I/uULnoZyDWdzbDI71LAG+zNrm+uDkjdn8xeoYGIWAp8LJ2?= =?us-ascii?Q?rYSOtMTcXoO/W8MGktjHnflX6L1GvxYN2xYPgMAt7BLRqiYscfDC2IHaPzJm?= =?us-ascii?Q?bxE7mSjGGIoNyVSZZatb2CoxH5a0G8Qnj/1WdL19EFaFzWxjzTqRYxghtgho?= =?us-ascii?Q?Ibs6n8snTX+0OYiN/ZABfhAcDxQV8S8p2GzjJYJrtcTcZZwSJ/kEszPK6oez?= =?us-ascii?Q?I/HtOhBCvVzTPjrvmvMc0ZEL6qD2harNBnF+FLMyfUNlhCMuuqZmgAAd8oJS?= =?us-ascii?Q?nKQD6TheeZmDsFxrjpQr/BcLD1CiQ/boqEoGpAZo1RLGdTwhxM2FZj+7assJ?= =?us-ascii?Q?WGq6G7pMhbZTucenmdbwmeLmWsGvqv9d3GdkPMjkubIHPojjWMMMLbVFiLJS?= =?us-ascii?Q?ZHlJMAHSVpploWDSpnSu8KJ2hV5nl5emrV0W+yNTcDPvgBuu+bUeZ+RxRPuP?= =?us-ascii?Q?lUlqdZhhTUcrlTTve8ACviKd/qjsh5j5S5LN7T5Q1fT/0Ubenj3ML+J8HoQ4?= =?us-ascii?Q?Sbo/r5QB0WkaYz1XpI88AJl9YDZ7DeGs++TtghnDfCgio44peps3wdy8drUn?= =?us-ascii?Q?Lu6WDahTepZMIDDq09F7NjOWuvpB9nv8q20IVf9VcmNPM7+NBTXAy+oalIc1?= =?us-ascii?Q?IJRpb/Uhi5jniG+ysw2wubvKxdls2em5Dc1SjBJDD7RQ4Gl8F7kWT5vRuI05?= =?us-ascii?Q?XnzvhB8KDjTf3+rYfQzrW1yQb3IKQTa0szx0beWmaehi+DlEMZzHVh/4zZPH?= =?us-ascii?Q?esPQyFmNgw54cPPzWBecXg12z6cPYh6LXUOLIlHVXk5BrZy5d/xFOj3RjQ/n?= =?us-ascii?Q?Ky7UmuyWJBg02d36G2Ff0V2YX4qDUXNv3gedQ5SHm2M8+z/hZs3u2QX+3TZk?= =?us-ascii?Q?xBKoCI3kFCrc+T7Bf09fH1/W3Eoe55x0uhEhhP84k2cu5LPJ+O83pD3ZsrSW?= =?us-ascii?Q?6TwIg8xOGdIn4PPYvXUdnBjSBDNCSdGE/E2VLejyGtL6UXbvJjWTFarGA0XB?= =?us-ascii?Q?XRZ8iinQec/6juxKdpGurI78EjzLCCmpz4uvvfsCek65qZjIcDvTrFn58ZBp?= =?us-ascii?Q?7hGr9rEjW1i2b78wYKf3di1ssmb6cJLFWaU1Zq/wPghcXMpG0msByMtKM+sJ?= =?us-ascii?Q?nWka89MQDK2abOV85DOrAIwYKtgZX9hc1EI+LNcKmYSGtPpPz3biwppu+x5P?= =?us-ascii?Q?r8r2EH084YO5cKxM7npHg3hTx0zQtoLF25QDmVWGDuhqRjIjlZvqNzuX1yU0?= =?us-ascii?Q?/S9a1P/D8e2nM5G/m91A3l8PQIQW5JxIuS4JMW12wpHvyQ6nm7jmCJukQE7e?= =?us-ascii?Q?wPbUOo8FODqc+sNdUQIuT28hq5ik9tHPAMhgk6LRI7oPyE2QagR2D2iZBk4+?= =?us-ascii?Q?Pg=3D=3D?= X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fe048f7-667f-442f-0355-08ddeadb44d2 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:16:03.1643 (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: TpnGvm2X262FpasD5jPBKUSce4WyK14RDu85mzrLUOd/j8ggT2q8aZCm40mY5E/XprkNz2u+wxtGyBucLwPcDEnX1XlW1qtrAIcHU/gJR1Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR07MB6836 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: Ic3ae8701fccdbf1e8e2a575d48e707b4c58e939a 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.43.0