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 2DD3A46D85 for ; Thu, 21 Aug 2025 11:07:49 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 247014026C; Thu, 21 Aug 2025 11:07:49 +0200 (CEST) Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013034.outbound.protection.outlook.com [52.101.83.34]) by mails.dpdk.org (Postfix) with ESMTP id B1D354027D for ; Wed, 20 Aug 2025 16:00:46 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mBxUreNB5rLq8NM2S8OjxEtYLt3NAJ67Q4BYf/QRZ56G526bVayMepErb0xmflMVYlkUz5mvaHYH+O6Z+SYGld5fFbiEJ9tUYmNYYL0PbkUL//pOEcUbLIglYwRxspYGkbGFKEvf89lQCeDWay40vdYHA2JUcz6IZSXLgrsEiuDlWWX4er13FP3YmkKhn6yZ4WbzN7ixBY2m0SQyMje+qADoaRXkHPdpkHH3BCMtAudcXo4LTJxcnlDk95c0pxswFA/NM1p//u6IYeKejtxDboBKj+I2CdTE/FruxdiyLj9N7iSYdXh8Wyz4x027MxDPQJxr4HxQ56sme4ltPDuIOg== 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=AzJa3PwFF+dUWB/vOKhU3rR7tjmkybMZJG3dihwapiV41k+K573kAaj6/zcj2T31siRAkziIlQzIL1cb3vjXWwn4JtZKIS6DTKIR9MA3WK/5CaxbpMJ8p1Q10MBCzLR+HND3omy0htoFwgcEA0+J3bDnLha4dwu0bwhZMQKT4IGHhh4l4tj4LDpyy579JIfn92bM9W902WRWYoId0WvGmVywNrYx3kBoib1lDdiy+SLv/MZBFgm45N+TPQVp2J6BSrU8xFSqgjcKtJ+dNijwtVHCxjL2LTCF903J/G4ieLGN1QIPYPJ6IhfcqriOYX8EeS79J3sA+JLce/bzicjhsg== 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=Hn/7umBotftpcbGARVni2rFA9NwbyXmoyVZZqkrUM66+6C6MoMo9KXMp24MdHqKQZ1At5XDSJhX1y04hj9b0PD+k5ieSjDbrfgnXCnuXJ/Mf+GtHC+900q8vN2GkYcqHnCUUR6dDwgB1Sjgwcq/naCv1AFuPl+dvQa8pHBIsRRMmJx4AOOQTv5G6pnMqH+jWX5JuKSktZyMddUvNvXnhlhAnYzJ9RsBDTwS6jXDKDCT1n7QXg66aFKJ8x2ZFAepIY7Arfb1b/4B+FC7WIHcXKXizQpVfy8VM1IPtSTZl0h1qqZvcNc5jzXqY9k50/AVutZo+v6f2I5seuqLdD3RQEA== 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 VI2PR07MB10226.eurprd07.prod.outlook.com (2603:10a6:800:277::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Wed, 20 Aug 2025 14:00:45 +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.9052.012; Wed, 20 Aug 2025 14:00:45 +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, 20 Aug 2025 16:00:38 +0200 Message-ID: <20250820140039.3540-1-thanushree.sreerama@nokia.com> X-Mailer: git-send-email 2.43.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: FR0P281CA0053.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::17) To PA4PR07MB7424.eurprd07.prod.outlook.com (2603:10a6:102:cd::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR07MB7424:EE_|VI2PR07MB10226:EE_ X-MS-Office365-Filtering-Correlation-Id: 0d5c6137-8c28-4521-4a9a-08dddff1f4fb 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?mSHxI44sktCB9nTHFPtseXBdjvCS3xHhX4Uybna6Pz3RyRKOvHmHUsnFG1Xe?= =?us-ascii?Q?1VxkP+rD27/w2AygxlhEJ/KKDU07BbO3o8mPwbpPR6XrmhFHIjk7Slr2AJIc?= =?us-ascii?Q?J04HQDtFdy4xARvjjKq+hrfOoRa7YiKK+qp/rQT49i+OlQAbkyHQRB6E+tlb?= =?us-ascii?Q?PLb6M83N5fzOtFW1GyjRbJVEisd2NKS9JIbK+MBaVN/50RGFLQPl5lo1mQo1?= =?us-ascii?Q?54WOb3fYeT+KZ7A5wQXLUBjZ1P8LobGlo2/YLuu5PJvNeAsObiuyjWBOocoA?= =?us-ascii?Q?WSnidQ8fBqZ0VVfGX1KIuUvIy4eOSHSThWWcW9Sr3oGBJ7WjMYBLjGX32WB4?= =?us-ascii?Q?kTfmkS568hAKBBql3BfL2P17uQ/Bh9YWAHgsQQXvQikPLxIrtK2rsoBduNdJ?= =?us-ascii?Q?L1Tje9WpJdWDi3Il3sBZu/st6E5Isc92+ckASlM8DLfbvkQGQAi6o7ddHVZa?= =?us-ascii?Q?j5ePjTnKH6dWMNlg0X+YMarhY6UvhSEmwvE+VUU6pYCi7heFTh72h9EomH25?= =?us-ascii?Q?SAxikXZGcSoPrHkjZZ3xXDYaT0jFW79NmARYTgfr1/z0S8N8ugwRhZJtk2Yj?= =?us-ascii?Q?RwdXyHwiovRWe9g/CyHTPaeVRPOUQ312+AMLWZNnKrY6CxnBpHkYmrRsnNsd?= =?us-ascii?Q?sDYPZpVFZpTOdLjnt83VkLLjQt+4A0gbWA3Bw+e3yAyPQ4TK3Zaz0UlWKSnw?= =?us-ascii?Q?Y50cZNG/IEFkQTcZPqvTum76OTpZCHoW/phoGp5zuRVyE0WoGw4bLMm+5zlB?= =?us-ascii?Q?tnY+JD2zq/PWm6uUYGkFj5kVoKtMoHdQGhO+waIub8C7sDh+I4GSv5yRFJmZ?= =?us-ascii?Q?n/6U+otbqxBiFaqG8sok7VSkZQH2r06gImBNa/31okB5uE2YYhjrxvFfeo7d?= =?us-ascii?Q?lFBwyu13e2zre8eY6eo66S/eWD/mYNZhaAsCYFk2RQ6nlRs+NR4bD+EXuTrA?= =?us-ascii?Q?emdvx/55H2wwm0c/pfYniVk9FSaOqpES6MWtosDdGuqLm3UUfBGc06PVQANq?= =?us-ascii?Q?/i/J1sTEgdzTjiU2pgO0SGu/+i3BnyEurlSYf4NdqXfEsRkzDgftsYI2qAaE?= =?us-ascii?Q?eXNIj88K1m2KvtFnw9VnGa4xHnJSDBx8r7qnNJTG9y9JTr9B8NkjgV6i8TsB?= =?us-ascii?Q?AHupopYbXfwrstbbQavH8r6PWzeSeTJW/rKt3mHgmlyy9TlJ/8tXFjhYgq+x?= =?us-ascii?Q?IbxKVFfmUFiMz1xNOWOK0ipUHINo3Dx3hcTLDyRf0z6gbnEG7opDpzzvdREY?= =?us-ascii?Q?yEsMFGYtRnWyvR8P/SEttp7CTWEPXIv+eH+bJvlo77Q6GfKNjpUoOAcmTE6m?= =?us-ascii?Q?LwUbZiN4UdwezAGH1+kJGaPcH36X3gFMFnvpB1xU5S+/tZJ0G7MEdEszp5nS?= =?us-ascii?Q?I2bO94NV00yO/qphhqZklpW46dJ4ZuRW/VsIur4JQ2eAYdAlli878utqxArN?= =?us-ascii?Q?0ZKrpZ1fVmQ=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?aVJ4rVQBVShC2ZHxg9sjrgN0jce5G9fNq7LCUizsEQzZQvzSDN23Wrp8XBpj?= =?us-ascii?Q?MD8OCTuAJeAWq+NMPbLWXIHFL4s6RaBdQUa6r+p7L86u6ZP9YSeLmOAaLJ+p?= =?us-ascii?Q?WvfO58lIXgUMW11lYWOb+TkmEjoFSQMA1HiE0mAsbfjHfR9pqGk7qGBCszL9?= =?us-ascii?Q?hxwoG3FP2aHjMlojsrSkHV3FRTVwtysF4jsXIEh+JFvCwTvnKopg/MZf/LIz?= =?us-ascii?Q?TWiohT7U4VR80TtB3Gnpe/+4PyZmOVrpqBlXWY4k5/ssZ65gNpIf7nRFLXMf?= =?us-ascii?Q?nrNdK9+oFcBwwr4dZJWj+T/2g0x39mUT6GQhTOVL6uOY1IYSJTGYpJHdyN9J?= =?us-ascii?Q?Y/GOKTDUYSFM1IUbcP2+SrKXgyF8wV6T5qq7xQMnHbIbCMfOVoB9RjYBriig?= =?us-ascii?Q?+lEnJ3a7bPN4P5WM0+xCnIVBUYTRaShxDDwMcST5U3kFEl3jNEtOMLLLbmJa?= =?us-ascii?Q?CNRtFme7YlwPAHh2i32dP/0vwZRP2byku6FahDqYdgzp00xeT8k6BndHQxZb?= =?us-ascii?Q?ivx41RLAuioJ3IP9diNzsemt8WAhVFk1AnT1mdTHfy/mb7za1Crn767yGAXt?= =?us-ascii?Q?Dm6MQy7qmqKB/ADgB0Z1l+cv1tTVoeAxQFy7fD9mHWyhjI/Xu4csBTNDXSfm?= =?us-ascii?Q?bKc6MICFiNLN6e11ACMDnZxer0Ls18aSxBjZuXMJNfI/geD5O+bhDtVP4tdi?= =?us-ascii?Q?CsiPXii5sr0BqsPIEz6x7eA6U80UAxbijAs8P9yCCXIffjuklmGp24hdYOTu?= =?us-ascii?Q?Qm4u9SneWhC5x2pzXUnXDzKItp20Eg/6X20pUYnIMTYsQnO8BM4+7Do7aQ7p?= =?us-ascii?Q?GMHot6Vaa9ygjxeVxJHql2A3XgQGjtO5y75X6m9zGnAbnCQBHEekPLn0Z4o6?= =?us-ascii?Q?+ZTS532F4AfP0HG8YX+KSizZ8/8y2Qu7mXfANTO75T2C1Yn5GvrQdtnakSJD?= =?us-ascii?Q?JCo74Z8sqjqw9HxIfW71fWiUfcjsmPrQv4SBCoB6sxafok+UxdGCti/9gpZ7?= =?us-ascii?Q?WfINOEHEIVs90S9UR/WG9XAhTFgwW6IE99yQ+eRx0b3sr33xb76+JoI8DrmB?= =?us-ascii?Q?CdjE8/aKDtV/BT4THXuwXkORBeclWIy9k9IxCKIMeK0cYeJfjYhsZ41pW08P?= =?us-ascii?Q?pquYiouq0VzQpwIbH1zaLRDUq6d7f71EEYBVG0g69EbQ9ey4c+BPesqgNFds?= =?us-ascii?Q?TXFOCT5MwXMrL05A1ycho6YF+Q3QCCqOERgSs8GDQwaET/9B5Q6kXn2YAZ8C?= =?us-ascii?Q?u2Gr0Xs4jDiAfAZvNnFVSIAPOgfB19e3MAJAPnnaN4U+PBgooAy3jzavBsfr?= =?us-ascii?Q?QnDw895cloBSbCCtYqIQ1CkBio5R/9louSTts1Jda2hFGM+QhTBYLEBx7M0u?= =?us-ascii?Q?oc282VoMb5MQTMULo2EAgrkCMF+HHVRZzV2E3/pW9hYF51FjQyeT1rY2Z+Q8?= =?us-ascii?Q?YqnhZ6JR94nu4NNzdkUYhkn7kOYXZAHF8FGNDdYNHyp6QHXfOUIN3PL7/lVw?= =?us-ascii?Q?quA/PfGYm80LPG9R4DRqVigZrzHoylJwIABtaUdZL6fI0Dh9yLn03+2esOwJ?= =?us-ascii?Q?cezxFiv89dLlCdqHpf15Fs1sUXJPIcjXsobbQWTJr6OJ5jf55pCh39wEpAP4?= =?us-ascii?Q?zoT2npqG9jDQiW3W0m/ROoc=3D?= X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d5c6137-8c28-4521-4a9a-08dddff1f4fb X-MS-Exchange-CrossTenant-AuthSource: PA4PR07MB7424.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2025 14:00:44.9768 (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: TCP4JAtcTVkDgiRZijVRGNp0xq/ip8hGbarwlc99PcEZomO3iCJG2JFPixztrXl06ezDZz8AfxAIvdBSbJD/vlIwx+POXt5o8P25HAWBs7A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI2PR07MB10226 X-Mailman-Approved-At: Thu, 21 Aug 2025 11:07:47 +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