From nobody Mon Dec 1 22:06:10 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011035.outbound.protection.outlook.com [40.107.74.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 4549F2222A1; Sun, 30 Nov 2025 15:11:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515471; cv=fail; b=LQtHLbrQQiU1Rs79LVzqlR2V5+IiBlG1uJ4dgqUY67+vBducytAy+1Xqxpw1672aWJbs7Sc+RkR7DY5YtmXRGFUgg2ZihMAxkAFEghJWQKiDDDA6GUetFkPdNLVuOIUWQTtSa6PvnCmHsVjOK9npc5P1gyuP+4Qynkz8TZr2iq4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515471; c=relaxed/simple; bh=dHIuOxE78dMB4eR1S0qfrBCpZm8MkS4uROVVu8JcQ80=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=g6WAtr6zucFlW3TOw6+wlT5FGjCKdv9cVJoxnTdI6XBNCtRQ/OXQ6C2u0ahTaLgpcNIKRTzBgcedB9Ac/dV0bUXDJgYLrWNnso1AIxihPq1wSpMY7BaTeUZSAA2xTHI0tSglr1dUyC+zD7JT42M4UUdh9+GslZ85XikmqUtIlto= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp; spf=pass smtp.mailfrom=valinux.co.jp; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b=Ef5599li; arc=fail smtp.client-ip=40.107.74.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b="Ef5599li" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Gpvh2vkhdejddty84hKRlJMySxjL5G7pGRdkf+Ld8tNnHCT/KSYrYEHebZn98MQ8RcdosUmEnQTktS4h5oMPaTVHGBlgJebANpXT26Xkkf5zEId5o7GHuc452JCTdoopALhTUEAL0K+w8ffqQ3SKu8217+gsbzFwtkfWgMx+Ww1YncbaPqp2HMNreXcumpqV/0oZlJObWLfvKXTH4EDaEf0HDZOuLsRKXcfKg3hrvTDrajPnL9jV22EYb6MecKZ9IZQEA+578lkMf/5OBdryMepQHLJi5FJxnUazt02oze0tPmDau05ZS95oNepyhqtj+vPMAX5szmrX/F1XTEUrtQ== 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=iF3tyzu7RNhEAbAtw8y6zaI4724mGCPZmSXSGTbuoOs=; b=hFNLXJeIjRJp2+FpkcAK2/7EHkdsQV+8kYNFVgalXzQNHdxXY+gJCFW2d4NuhmkW8sB0aCJORpD9MFvs9+XD5T85uZffJJdhY0AlJFZ/hmbA4JvvDvizDJcNFeVq4vGL8a/MmRpFlQzYwkENY790pzRDhUDJB79kXmBZBRASj61j71IzQlnBUEUNOlGKNQDieILDjBn4C3sukoJNvcy9lDHyZmxDBXgVoimvOsLb91IIgbZOU8LeYpQZE9JuuAQGTkWytb8jFihHJRM+YLUdylrf/lRZxOyAMjXl6W9nrVAM8dQG2nEk14atsUrFqpdnkfiOZs+8GpBpp0J+m5MULQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iF3tyzu7RNhEAbAtw8y6zaI4724mGCPZmSXSGTbuoOs=; b=Ef5599lieXnvxHCEm5XDK5Vvlp3m4017hQjVxtyQq7wkfEv4xjGsA4g9N7R/FestmvUgVAntnHoea8lroyqU4PktMQwtdbZd0msmz1Vm/1UOd5ldtLPZJgFftsIfZaxNvTgBpkJaKsuThLWtNTAbakxohlOEYypgRFxIpudz8+I= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp; Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) by OS9P286MB3865.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:2d2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Sun, 30 Nov 2025 15:11:06 +0000 Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03]) by TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03%5]) with mapi id 15.20.9366.012; Sun, 30 Nov 2025 15:11:06 +0000 From: Koichiro Den To: ntb@lists.linux.dev, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Frank.Li@nxp.com Cc: jdmason@kudzu.us, dave.jiang@intel.com, allenbh@gmail.com, mani@kernel.org, kwilczynski@kernel.org, kishon@kernel.org, bhelgaas@google.com, jbrunet@baylibre.com, lpieralisi@kernel.org, yebin10@huawei.com, geert+renesas@glider.be, arnd@arndb.de, stable@vger.kernel.org Subject: [PATCH v3 1/7] NTB: epf: Avoid pci_iounmap() with offset when PEER_SPAD and CONFIG share BAR Date: Mon, 1 Dec 2025 00:10:54 +0900 Message-ID: <20251130151100.2591822-2-den@valinux.co.jp> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251130151100.2591822-1-den@valinux.co.jp> References: <20251130151100.2591822-1-den@valinux.co.jp> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0094.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b4::8) To TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) 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: TYWP286MB2697:EE_|OS9P286MB3865:EE_ X-MS-Office365-Filtering-Correlation-Id: 58ebb848-93ed-4636-af9c-08de3022af62 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?PQMIlo4ZvvWpmhQiF3bJN2DkVhKhMPO1i+RjdhOWJo7kxHZv1y0M7r/q4ebC?= =?us-ascii?Q?lwjZkGX+U6YXVBu3jto+EIjdH0DSgluv1ZZ16ANaYZaCjsjAJ6ovxrnUJ8cB?= =?us-ascii?Q?NYe+rLcoAsE7HRFIIMnRL6EsWI7HFq1uXZrNGTS3BgfX0nxaVQcy7//VEw8w?= =?us-ascii?Q?LvLuiIqDXS42Z8BoFEbcJhQaDgG5YEQXNSWCjLl7VfBrLdkrzXLZZQOh0UN1?= =?us-ascii?Q?+f827cYz3BUrMxzZizjyJ2k1lKlGGF5nVX/nPVyLLHFBlv7KL3X889B7QJwU?= =?us-ascii?Q?dxYPjSOSHZ0u2xFUIH5kGk36YoW2FupsIGqPXhRZNKIDFJUzFVojlwmqFvtf?= =?us-ascii?Q?CDwZTuDATrrji/KNC6qOHRwFV2rXPCT+4Jup6rgGfoKAHHcKPFN7abQMYBIT?= =?us-ascii?Q?GuCY/tzJuwI+fBQc3PSWagmo4ujaVpVZ5aVq7vw015OnDe/ThriBt1B8X/sS?= =?us-ascii?Q?sL3fKLl6cJ8lF4nb0EDWgjquiusOueW560jI+cLHSMca2bogqVOESjNxiYXv?= =?us-ascii?Q?YJ+M4hFOaYCSh/iKGajVZrWnPOG1V6eoI21f1uafFWPRJ+N9XHl4IgRCmgOI?= =?us-ascii?Q?iUSS/CryjpXGTS1GfQwaLskYBywJ3Px1ihTAvAxiUu7XFvFCXlhZbNT2QA7G?= =?us-ascii?Q?XerplN0RYnSZo1B8wKtoJwlTaftTua0pN6WruW/yMqxKu6uy0OmSO1A4PVtQ?= =?us-ascii?Q?ArnocQ0QGEexokutz1ZDLfSrynZKoM4XSBuaBTelI4HhG0aFpN8Q+qxKnL1t?= =?us-ascii?Q?NQpfbGK3B0qBHwRboLSpleNPeMaHD41PD+T6bTwXiQJBnx8KhWqauDppHn1o?= =?us-ascii?Q?wPv6x/49FYhYFvInVK0j6GP0y6znhhAdmljcDi8u+QCv4SZINor71t2p2SzI?= =?us-ascii?Q?X2cGjwv4H0leiBPSE8zlQ/teK2DUH43UHGdwNJxayZyjkTnMargoX3ddjnmL?= =?us-ascii?Q?7VSuuM+ZqvXbAlSpsx6vRSmPBKqzlXbVlVeLQFXCocCtax8FPvCp5rqI1rUc?= =?us-ascii?Q?r7L/RPTF92Xx8P29b5MFfKx8+kehgQXrY3hxmmRg63EN9gn8qsVjiKykrlDq?= =?us-ascii?Q?83eSfym2FIIZS07DXkfbcXWsSN+CJHoXu3Lw4vWRAwPOoSGvrQBSAjVgKFNq?= =?us-ascii?Q?9XcDfgnDgGC5S6mpyjZN/ODC3sl4JXWZ/KiGDWN/YoVzpqtl/t84qiAo7uWu?= =?us-ascii?Q?VtWjIRq9NzaSj9vt66zOAg0AwhAKykzf0sfTjLN9vq43A5bHb4v/r/NwAFTo?= =?us-ascii?Q?OBEefcmB0k/d5cXnkk+kp9P6OTa+UevfGTEvCRT4w8Igonz6CXAfYKg+bk/6?= =?us-ascii?Q?plXijVQqRDF3+wmJ5Q0eQw1SOZV+Lj0Z27hNZ/vSt2c1RpRwVjd5FKHuI/RP?= =?us-ascii?Q?eWgFC6FyDWVwej8YBF0H8QFsy/bzYFXfk1NF/kdZIx8FCuIfZfjWF6dCcmvl?= =?us-ascii?Q?MHtI0aUinzd/CCBulD1To+pYmyFKpH6V?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+pNclJmZE1Wg7FZ1fE00EBzpI7/1er5LCmHKzg/1wu0NwYjS1eKCU+NAvZpI?= =?us-ascii?Q?Lz/AG3rSJzc14Wy2Dg2anhl5ekdrfWlFIbyUd0fek749Dx/ntecQRxE28qAW?= =?us-ascii?Q?hjuLX7c93X1LpcgM+0pfTYr7602ESMZphs3UMtgP3dDgF6L49rrJ3XUwxw9G?= =?us-ascii?Q?PukQZbbpepsRRim3gPKDWzyOunrqAvHZ6nSAAsJqtsFZwzj9iRw/6JL+fsCD?= =?us-ascii?Q?ZFr8PKsuESoW4fZTPnqKurCsnluYyv/hECFNnss54hoeqwKB7oPRPwZd7hEH?= =?us-ascii?Q?kN6v0BCwfqQeospo+W1yf2m+zZmSWJfIFKISd2jm9PSlDXLUg7+y5W4IrW7f?= =?us-ascii?Q?wP4TgmMR/2SWyKgvDR6UezdarnIW5g6OymJmre3wyGebVQgZq64CZ5KpeSsX?= =?us-ascii?Q?A2UYTCfF6NNRHqlROHkDEIjIdxptoDYz2owBxVWVcH1cXzu9gYlGVa1fypew?= =?us-ascii?Q?5z/IeP9n2jwWQrFS7sBMhe/T2wANSCopA9Cin41obXKwXdhUMFFmbbNVLRG0?= =?us-ascii?Q?793wCJvnpPbUipzrQmTUQGIO8jxk9G0/XPiQZOZRMi0GR5KPJiYYdoZBBe3S?= =?us-ascii?Q?j+W01zJUbCdPADBhkliruN+tpb4Y+c5D1D5vxot9hzcHoExI/BfKXPJAUWp7?= =?us-ascii?Q?Wf3IDIWhbPTeQJ6kuf27toNs84hhsVjSDUzTrn6fUu/+RswYLuL9JhZBaOZ6?= =?us-ascii?Q?+txkzkBW5nI8ymelME7iwT6FyBmweV1LKwtt+JBMr94WXTbKAGtVm7Wfjneh?= =?us-ascii?Q?PmyGp4hb57uouc08YazFVHp74uvUFr2XcmmFPDa1dDk6EVjwVzpDBtjKUZ4/?= =?us-ascii?Q?FT5M1gXLhzaYFWSk3s2Gc+Zwvo6V0rP9M2HqpuEWWAmxr7bftp66zLNAZzQ6?= =?us-ascii?Q?WfK+C2UU7u6DdRW4DTRxwQ4bxe7vQER9W1wbeBXHabWF3NIS/6RWWmh3QERb?= =?us-ascii?Q?KdbSRFr9bUu55ElZkcwipAftKAYLyXxkfK6qU4MyDBd+Gt1wSu9k8LdfGnFp?= =?us-ascii?Q?5nDvXm8gm2zItHkx02qxVAFYI/D4c0QtHBEuy+pqOcG0mbVEIsFPK+DdReKd?= =?us-ascii?Q?aTI3s9yxSLRuqSGu1uJNHrr71OGLx95EfxitX2322800W8GQBxrKYnYADoGr?= =?us-ascii?Q?Imi5kBF7/R/xeZeD2Kypt0WDYUkcNUQYXExq/WlHStsbLvdRmWO+X2n5X2cH?= =?us-ascii?Q?0W9cJOQFKpeBOPFCqi2BdYCoQ8muZCB9xwp0AgfQW/L8w+hz0pLODotdOa3n?= =?us-ascii?Q?4aVRfTy2epAU5Ji7crEhfxuor9YUGJGkBduYJtwD+v6o0dIGxxglwAszTuTF?= =?us-ascii?Q?H6OSJlwljCRe+OmfmUi4xDN/o10RawzbFZXW4rP6odutSXzvAjGVb9hltJ+r?= =?us-ascii?Q?9R/n1wPC4Op5NwSB0mhFY50hqUPOuSi8qQDx4HbAaX1SLAd0p0fl1tVEtckg?= =?us-ascii?Q?IYtA00jSivylKWt9Lv+zaLzsOsWZldoBwU/iGwMnqvd5XHToL5/ycBfNI9ap?= =?us-ascii?Q?zsFPMFcopHjYHB7gtJbq39yi9GZVhWoCtfclUMaBPKErKGZN0mna4B78ehxi?= =?us-ascii?Q?FINO5PjBpvw8yt1u2Nhzkl9u4CbuPshVCN7WpDxlcuO8ULrxEE3pkIinl0jZ?= =?us-ascii?Q?qF0uVTZGgAc9Aq/DYG8yGHA=3D?= X-OriginatorOrg: valinux.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: 58ebb848-93ed-4636-af9c-08de3022af62 X-MS-Exchange-CrossTenant-AuthSource: TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2025 15:11:06.3496 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0/Stf4u62eyqAO3GNqnuojQ5P2bqpmx/aR2xlaiml1o+ZoRjQilXohBzeEo5+QUxXt9/qEGTh2I6vck5oewHgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB3865 Content-Type: text/plain; charset="utf-8" When BAR_PEER_SPAD and BAR_CONFIG share one PCI BAR, the module teardown path ends up calling pci_iounmap() on the same iomem with some offset, which is unnecessary and triggers a kernel warning like the following: Trying to vunmap() nonexistent vm area (0000000069a5ffe8) WARNING: mm/vmalloc.c:3470 at vunmap+0x58/0x68, CPU#5: modprobe/2937 [...] Call trace: vunmap+0x58/0x68 (P) iounmap+0x34/0x48 pci_iounmap+0x2c/0x40 ntb_epf_pci_remove+0x44/0x80 [ntb_hw_epf] pci_device_remove+0x48/0xf8 device_remove+0x50/0x88 device_release_driver_internal+0x1c8/0x228 driver_detach+0x50/0xb0 bus_remove_driver+0x74/0x100 driver_unregister+0x34/0x68 pci_unregister_driver+0x34/0xa0 ntb_epf_pci_driver_exit+0x14/0xfe0 [ntb_hw_epf] [...] Fix it by unmapping only when PEER_SPAD and CONFIG use difference bars. Cc: Fixes: e75d5ae8ab88 ("NTB: epf: Allow more flexibility in the memory BAR ma= p method") Reviewed-by: Frank Li Signed-off-by: Koichiro Den --- drivers/ntb/hw/epf/ntb_hw_epf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/ntb/hw/epf/ntb_hw_epf.c b/drivers/ntb/hw/epf/ntb_hw_ep= f.c index d3ecf25a5162..9935da48a52e 100644 --- a/drivers/ntb/hw/epf/ntb_hw_epf.c +++ b/drivers/ntb/hw/epf/ntb_hw_epf.c @@ -646,7 +646,8 @@ static void ntb_epf_deinit_pci(struct ntb_epf_dev *ndev) struct pci_dev *pdev =3D ndev->ntb.pdev; =20 pci_iounmap(pdev, ndev->ctrl_reg); - pci_iounmap(pdev, ndev->peer_spad_reg); + if (ndev->barno_map[BAR_PEER_SPAD] !=3D ndev->barno_map[BAR_CONFIG]) + pci_iounmap(pdev, ndev->peer_spad_reg); pci_iounmap(pdev, ndev->db_reg); =20 pci_release_regions(pdev); --=20 2.48.1 From nobody Mon Dec 1 22:06:10 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011035.outbound.protection.outlook.com [40.107.74.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 0340827FB1E; Sun, 30 Nov 2025 15:11:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515475; cv=fail; b=fq9w/99ryhQoiY0M+txU9CAgYqDl8KOtF82RM8Dq57ywaJ4Mi4XBLDIDuFE6UUonuijZgy5Gsfms/4aMG6u/ZM5/NSY5+2AkP9+FcgDCIo4ONFRHXgw8aHV7T0tMQZAERgeghDbY9fe8fEu0XJ1dC5E5sQ/JdinwU0Oqp2eZd4E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515475; c=relaxed/simple; bh=kQskWWtIs3dq2QEqSb62M5nTdddcCqrhR2KtArq0fbQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=UgQKF8+3GeQhot8X5HBIR0NGgGv0F4hat/pwzKOuVV5ftTiOK1HVZW9gjpxwLWyfPxc6cMzsLUNbWpLNoCs32K5vJun6WwHVB1hqH7/TT1Eqs7N7JwPm6KMTay4HTvTvAYSwj/M6XQZS3Gms7eOTtC+n/Fd0av/tToK9g7e912E= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp; spf=pass smtp.mailfrom=valinux.co.jp; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b=Y4VGUsQY; arc=fail smtp.client-ip=40.107.74.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b="Y4VGUsQY" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hFhBFFTCr7wEEtr5tEHS2uDb3FdfPNkxM3VxE3HRhf0OUszlBz7mUE6nOc83B8rnh4qljjFg9FWIJeIFqnYQ7nsByT337Bqy2qJL+Z5Gaxjuy8KDAowrr8t9EPmLvVCDIlw4qG/kmrshYh+8Ndc4M7pTFZFOEy6QRR18Z0M44MP8lN1U1RdcKze0/gkYniNn787keQ5Hb/DBZEwXCpTDT/Kqby3QwlkHZAIt+pSUaJIYtjsYrbQ07cE1VaYRQfdJli9TowFEYmwzAJJh2jfcLjcHHoP3NYklQ+gjtDjeK+gKX3Mcck7VFXj8ohXqxq0ghNySqMQCjMHvpnVvHYpygw== 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=I++yll8TSjloR+LP7mQ+1mGSxZ9EZxoJoKEUH08NIKI=; b=IX3QXDlILzeyKAsP0qaWaVopMS7Ig6YcbuXTgcS6h9INMWLtpc102xWi7vjHDY96uYirPXAqewEEtL4KXXyztLTbot0Kz3aGbtCPjK+NKjBSWoGETpAD/SW/DFZRfvyFZGun60DT47a8tVs+7NQOcyst28mK2WQfr0DRuC54Es1fgEIUfEadw65v3ay+uNJX1aW0hv5RlJbc29dpiUuMv/0Jx5Y24f7AZysympb0T/JUl2s0DlOMQeuyEJ35LOoeuvN0PfK0FA/eQ8Ta5zkrblVv7bjJc0wRwcKK9tA7E5hpTwzFIZI5Zixa8vCWWIGNJn3Nv19iIw4+0383taJyWQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I++yll8TSjloR+LP7mQ+1mGSxZ9EZxoJoKEUH08NIKI=; b=Y4VGUsQYciXTDTojSG/OHeN4L+/fyNPo6Drz3AUhcsYlNx1z7asuHBrVf0LH6LbLSrW/eB4jA3HcF0SGNIiPpvXIppnv2eAPA+FzVa0U+mht+i22TIvYoRc4mLEsYz/GKSWHpQvEf9oHoSGJumkPOcI1//SCi3agy5oQ1ptWaJk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp; Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) by OS9P286MB3865.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:2d2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Sun, 30 Nov 2025 15:11:07 +0000 Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03]) by TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03%5]) with mapi id 15.20.9366.012; Sun, 30 Nov 2025 15:11:07 +0000 From: Koichiro Den To: ntb@lists.linux.dev, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Frank.Li@nxp.com Cc: jdmason@kudzu.us, dave.jiang@intel.com, allenbh@gmail.com, mani@kernel.org, kwilczynski@kernel.org, kishon@kernel.org, bhelgaas@google.com, jbrunet@baylibre.com, lpieralisi@kernel.org, yebin10@huawei.com, geert+renesas@glider.be, arnd@arndb.de, stable@vger.kernel.org Subject: [PATCH v3 2/7] PCI: endpoint: Fix parameter order for .drop_link Date: Mon, 1 Dec 2025 00:10:55 +0900 Message-ID: <20251130151100.2591822-3-den@valinux.co.jp> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251130151100.2591822-1-den@valinux.co.jp> References: <20251130151100.2591822-1-den@valinux.co.jp> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0047.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b5::18) To TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) 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: TYWP286MB2697:EE_|OS9P286MB3865:EE_ X-MS-Office365-Filtering-Correlation-Id: f5af7b2b-5e31-418c-c3bf-08de3022aff1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Cdd1AttA7Acxpb5/JW4U6U2RydmK53mh8a0F86yxuGLtbBn8BhLgR6VqVlM5?= =?us-ascii?Q?luRbNPxWMRjPG3thxuiN3QT4WDz1CmkVRPb23EOstQOu8odw0bi2KkuagoYo?= =?us-ascii?Q?mgt6/ygV6nDe9Kbm715588be9UuchKkkZSZelaJTwzqM4w7NYcJSiZ0+EyIA?= =?us-ascii?Q?vzMyIO0LAOclpAF1Jbxe5XrUIvRDxygoxgKaouoL8z4/c6pGmzHQqmKwDu19?= =?us-ascii?Q?3d1WvhobQEf1wqeZ4rZ+QPyDIqM/Ruxllg3SmRzMUrhruuVkhBjhgMnBimaZ?= =?us-ascii?Q?5JduSF9JC7Bejo0L+41L6GW6a1Odud2EBUwMnshxSLkjdKJNYfdVgK2lOsjU?= =?us-ascii?Q?GaDULRReUrdj5s/eErwbAulGWyQb7rKtyENuownypAV2ao3EvN4eCb2myyz9?= =?us-ascii?Q?Q1w7iQPWep4zLMlP347djgvC3BChpLZVrDBowXXPxOxw8TbvEWnZ+RHilBfb?= =?us-ascii?Q?31DJnKA5uMo66TdlqMkS84DxZlHIDwwht95kXuqbE/lsdZGACJbWwrVcgpH0?= =?us-ascii?Q?nz+cdD70BtpeucKKLsVubiogZezZS5vwWT3LhwoHALfrzEyhqEekuG6B5V1b?= =?us-ascii?Q?1RFS12l47c1TFhM3W1ZRvVyYhvE7CXUf15nyfNYHRFeKndLDNpdRdPjKz38I?= =?us-ascii?Q?mO6z0BPT4ylrY8nfMs9k4tOeALQTi0QWAy2zWSQtq1lKJpy5BSfIBuV/F+RE?= =?us-ascii?Q?W6FKTgzSIafdTXfT++t8qZrCTkkG/tk6tD1xBQEOg1oGvUiq1pFBNKH77gw2?= =?us-ascii?Q?0T8DBQZvbcpgCk9MzPK18ZciTGx4+5c6ZCdVZEz9AEsCc7HyiqQ6MlNll/vQ?= =?us-ascii?Q?2lMoMFi4iKs43E1OGK8/96Nrk+SbtVu8b6FasiTnBykLDj+Req1ZRJXol/Ey?= =?us-ascii?Q?ax5hvg2vlUiS7cpjWItoxFFTSz1JD3JyC6toAfvSvn8fBx3uWYGKjXPJgDCh?= =?us-ascii?Q?TDkqpJa5CpmqNteDIuFEl1LfRcIkeRwig5tBdZkBTOUf5JWq+yGvhHiE1Twb?= =?us-ascii?Q?Re5Zx2+dahiQDbyTx00qH8aUGdYbjcsYjOm/US8lWI7qrEAWQx4RoF0+aHwA?= =?us-ascii?Q?ndxg2fW2qmEdS0EkiD8zEbryOSJWbkOOEw82o6iEANmn4SMntV0Y7iJMpbsH?= =?us-ascii?Q?NMjdMW9rk7Fja3RiYRGEd8zwaSoax1hfEyFVU/nZbm/55X4kZDH5uIUrqqrN?= =?us-ascii?Q?/Ltmh03u+JsF8+KIEObyz2LQC5NsxKPf58RlCuFdssvjkj/lstsAFInIfoJ4?= =?us-ascii?Q?vxiCAJU5QVfyHWMOuBY1qda8j8oxncv45g4vCzZVozkNGgDhj7St7p4EviS6?= =?us-ascii?Q?L/O2KeNulo1qvM4KmO5Xipa/kAzte/7D52NuhJuQ4+BtHhwdp+kQUkIsBBEM?= =?us-ascii?Q?FblKtHYtV0bVyvl2e2Uz7NEj4ERJM4GwJW+/jU5ubAF+Zsn4EqwnxMoMvMBH?= =?us-ascii?Q?33ygP2pUlrkY0kXVQXLL4yCJnS+kdjV/?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tKz64emKPWfSAruZDZWWUF5F8emlaPTTwFz+xcWPih6FrvqcQojJyWs+rqSs?= =?us-ascii?Q?D6TCHo1DM0+qWYjqIOy0xnoglLTWcSWhJs9wnEtdqXP++xppkuEZy8xvtHy8?= =?us-ascii?Q?mPp6zt/WZmk0PMlGEZkDlzpoOxw2mVesKs8DIQyKXud6hgeiYnbssSD1M4MF?= =?us-ascii?Q?eDUZVccqMbKD4J67w6jtA4cQu8XDLx5S/hOvWH92Vr63NuTEUkuAeM7IZk/A?= =?us-ascii?Q?HthDsuw1AZ83mIwlmGnN9mWavDNG5b0tRGNp0MH7DRgZdQnHBq91SgPJ9GfH?= =?us-ascii?Q?1gDlGjxRWE0lDiCS4Xsq0U+iPSjaDra1PIJ90GU6VKiLj4UJAwtt4Op3cPZW?= =?us-ascii?Q?lQIoXyV7EOy2bzlLwZTsSjtUkY5wNVHd8yCy6ih1qz6Tbe+LfPWFj7zcw5r1?= =?us-ascii?Q?S3XBFTQ+pR+UAp8cIG6cS2AyCQ4ANnfrZgHStFxMX5JJa5TrHsRdHXMazTeM?= =?us-ascii?Q?hSOe5pz/h9HdOc1xWnUcJYOXEHd8o9JyX3DPb5MxSDKsmia7XoHXtHgWwjX8?= =?us-ascii?Q?Tiwgd1epW+6K2NFHXq+2s+5PBD2psQ75myUc8BI9tJR/7xa6JCkABBp+9ZiO?= =?us-ascii?Q?jpJTAdx4pKDaQ4SxyB0qAeLphiSoCL8UfeWarpUH9GveE86NspTquXar5mPL?= =?us-ascii?Q?2RNtXgCusdQyYDdNZtxPZc6wwe8wI945jBgs/ZPfJ3kZr43qvwBmJhyKCEWh?= =?us-ascii?Q?UO1XA9+nypzacTUIVMdftebgOpvtDuCyyfgd26nwmFXFwjUr5VcLq3okOwPR?= =?us-ascii?Q?u+a7In6AhvGiLZ6ZjKPQEnOIsm6AfmcQm/0uKKl2uF0rHXBfNfIVW5aq1bPn?= =?us-ascii?Q?TI0oqFqHTKtHNdKNgPzUKS71YJiGlQuKYxnZtA7lmIOJUW0veBhg3uWZLwdH?= =?us-ascii?Q?yWOy+n4P1q5WLANAQ7pjcmElunJy7nWDD/93zRRhW5cIxrpZDInAy7cpwoM/?= =?us-ascii?Q?uHXRUUzZ1gTCO6LoDeVqypzIRGKNyM5JA9HTNbnFo2MNHIDhsOpyehB/Zdic?= =?us-ascii?Q?OebP3YoCrKhnZbAVHgstKme8lgML/khuHdWtSz7EpOqhIuYv+to8g9IEL1U3?= =?us-ascii?Q?tARuvgG9LHpigbXjgVVlODxNwZd3SqtvMWzqOmarh6HLbn4cdQGvbqMIkxyc?= =?us-ascii?Q?P8fzP2hw/zdT/mVXGjCPBL+R3LORX3bXtEG+kjKmw/ZXGgbuDT1EdaBj4UQ/?= =?us-ascii?Q?axZ9jPnubyzDF5rEXsZho3P05Gh9pKMyLXWy9+N4C0lkRyFPPsV4vwG4U62l?= =?us-ascii?Q?0VwnTtRx77f7DuuCLRjR5tpKXMPjNIBi1cgancSInJrFpWCL9DNCyXbVZfcJ?= =?us-ascii?Q?ICnuxSNjMvw4Lw/JtUfh3tRLDDiOwiBfL5gh0fPOOwcVNcswv3rjmAam/b0E?= =?us-ascii?Q?HCgfPELqQMHDcxgeBXnKl0oiG4v21p2sOm5dOFpremPS8K9njKxK9jzr0lEd?= =?us-ascii?Q?dQUpU95BNOAVVgQbRf5pKeHvPY/gmIdoCJPMsfFmy2y0DNicFwA7aqtLUddD?= =?us-ascii?Q?45tOL7QEv65E9zQR3xeod1W0XHty8p3OA/Yg4HqMHhxTGCoIy/KyFPp4HYsM?= =?us-ascii?Q?lgHyxJNAx+i0K3Zipo15WKmjfztWCmNp7Ygy2F84qKSta4Y0PNHKCkSApFFu?= =?us-ascii?Q?naFLTdLcMJv3sCLqKr+BNk4=3D?= X-OriginatorOrg: valinux.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: f5af7b2b-5e31-418c-c3bf-08de3022aff1 X-MS-Exchange-CrossTenant-AuthSource: TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2025 15:11:07.2809 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pBIue+ZTXCymbcyuKt6n7EXAcDb/kfJALT11h9tdUn8gvdpjWDt3pwtgdVYu6fg6LTrt3tXA+7QOhPadCjyCwA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB3865 Content-Type: text/plain; charset="utf-8" The unlink callbacks passed the parameters in the wrong order that led to looking up the wrong group objects. Swap the arguments so that the first parameter is the epf item and the second is the epc item. Cc: Fixes: e85a2d783762 ("PCI: endpoint: Add support in configfs to associate t= wo EPCs with EPF") Reviewed-by: Frank Li Signed-off-by: Koichiro Den --- drivers/pci/endpoint/pci-ep-cfs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/pci/endpoint/pci-ep-cfs.c b/drivers/pci/endpoint/pci-e= p-cfs.c index ef50c82e647f..c7cf6c76d116 100644 --- a/drivers/pci/endpoint/pci-ep-cfs.c +++ b/drivers/pci/endpoint/pci-ep-cfs.c @@ -69,8 +69,8 @@ static int pci_secondary_epc_epf_link(struct config_item = *epf_item, return 0; } =20 -static void pci_secondary_epc_epf_unlink(struct config_item *epc_item, - struct config_item *epf_item) +static void pci_secondary_epc_epf_unlink(struct config_item *epf_item, + struct config_item *epc_item) { struct pci_epf_group *epf_group =3D to_pci_epf_group(epf_item->ci_parent); struct pci_epc_group *epc_group =3D to_pci_epc_group(epc_item); @@ -133,8 +133,8 @@ static int pci_primary_epc_epf_link(struct config_item = *epf_item, return 0; } =20 -static void pci_primary_epc_epf_unlink(struct config_item *epc_item, - struct config_item *epf_item) +static void pci_primary_epc_epf_unlink(struct config_item *epf_item, + struct config_item *epc_item) { struct pci_epf_group *epf_group =3D to_pci_epf_group(epf_item->ci_parent); struct pci_epc_group *epc_group =3D to_pci_epc_group(epc_item); --=20 2.48.1 From nobody Mon Dec 1 22:06:10 2025 Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011051.outbound.protection.outlook.com [52.101.125.51]) (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 8AD8128467C; Sun, 30 Nov 2025 15:11:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515478; cv=fail; b=QVdKAg5I42jC9s82rtcvtp5HxWkZDuWnMFz7QD+IRTS+sDC8EEQtdBr9bZgNxol5vEoT6G/xFk1w9kl89aWMdwV5doLNyNroP4kFGWjxDFjub+2m7CpPVRFbzT47PG0iF2pXAIhj8RguO6yNMxc6Jc4QKDSeYWAjngbu/qpTG/4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515478; c=relaxed/simple; bh=O+25aDE86dw7kb8Igth+/Ni3EWo+0WC/Hj559OO8YVU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=PckmTIEJw7FCTzoNpKYVcXDP+2bZvulR58bv2eRFIlMcqI+tBBLn7TETZ25izybQUWb2tIcNXGNzpY/q7da1fzL+m4+pbTt5yz2ueHeSJDO7Zu3FGZ79oaSCQvhwm2sr0zaKdyNdF3zdA+iB4jEISYGaw58Uq30umo7Q2Y6KK8M= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp; spf=pass smtp.mailfrom=valinux.co.jp; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b=tMcxlBQ6; arc=fail smtp.client-ip=52.101.125.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b="tMcxlBQ6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=C7T6/dh9Bimi0tYgs8eM2uWFh/XVRgZSYHay6wnmalbBTJ7+Yy8r8WnRvhnSRyQm4Sjcchh+1HMJ+hRPfvko/mnHkbnS2o9RBi3xPCvJImpW3oMWu1btxLMAsWwvRUJP2Ok+g15iA0e9EwECnDi7LfKLGoTcPDWUxw5N2wvkzcQ80NHf6IldjjrymB+Achy5xd3y9mG3JPcQkTi4CloqHPwMvE2mEDZ7PBxQwNYFaMu3Nw6i8uYUIjgYQ4CtsdHBPibm7y7UteCOeqbHnUUJV5p7WxnrUUXRGdxz9BSOFHlhxKpsHygc9Y3YPuudfeQt+wX9gSDCwlXNtEUExaBVQQ== 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=FKApDRV0CwAGwCQhi8dzR3dNnpAqxilqtJChT0fy6BI=; b=k7EzFy9eR/uqn7RyKJOLpY71kSklEp/TDKYstjBAZ4wKGCtyMSkwRAs66LrN5m8+nwhyz9SstiN11IAzUx9730a4zQ2pawEtHzPO2pRoITWxRWGJviI960rvzE7/QMcvCuVYxB6XEQLJnUbHCbEbvjzazBLDwnUnLH53WI7sG40rQL/rvKeV/BbK8e9auJ1qAnNbFOf+9mjSdGYx2yC6S0O6S2UC4oIGYjzyrqcJ9T1L4YYc7wfdAS2vgMhSgPqJSrg9EADUm26Jo+kf3Qi0o5LLE6TiackhfX0x9CPE4uXl+fC5MsSuXR3GB2A+lWLOpNMT/V1rVn8MnHNHbcM5WQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FKApDRV0CwAGwCQhi8dzR3dNnpAqxilqtJChT0fy6BI=; b=tMcxlBQ6PnW7pSpzeBqTdt787BrvCvO794CCrXUqcrzCcSzBCzdRHHEGOkIKmN81ZDK+CZXmDVuTrG9RuIej1BWlz5Km23LjUhsiKhlWxhEeZDIR2nQBUbEcGZBY0BryQnLUs28OirMdQE52/A3z6VcsrvbmxH+sblYavKG3KOM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp; Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) by OS9P286MB3865.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:2d2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Sun, 30 Nov 2025 15:11:08 +0000 Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03]) by TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03%5]) with mapi id 15.20.9366.012; Sun, 30 Nov 2025 15:11:08 +0000 From: Koichiro Den To: ntb@lists.linux.dev, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Frank.Li@nxp.com Cc: jdmason@kudzu.us, dave.jiang@intel.com, allenbh@gmail.com, mani@kernel.org, kwilczynski@kernel.org, kishon@kernel.org, bhelgaas@google.com, jbrunet@baylibre.com, lpieralisi@kernel.org, yebin10@huawei.com, geert+renesas@glider.be, arnd@arndb.de, stable@vger.kernel.org Subject: [PATCH v3 3/7] PCI: endpoint: pci-epf-vntb: Remove duplicate resource teardown Date: Mon, 1 Dec 2025 00:10:56 +0900 Message-ID: <20251130151100.2591822-4-den@valinux.co.jp> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251130151100.2591822-1-den@valinux.co.jp> References: <20251130151100.2591822-1-den@valinux.co.jp> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP301CA0082.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:7b::20) To TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) 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: TYWP286MB2697:EE_|OS9P286MB3865:EE_ X-MS-Office365-Filtering-Correlation-Id: 8398b069-768c-41b4-7782-08de3022b0be X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ZUv4VVLvRJCX+cGDFR2jfMg9QbRpKidK/M7uMobC3q845ntv30AZe9IMoMs1?= =?us-ascii?Q?snqMyuafDdm0diJZph7SrJPW4R5AuXB04JVwVTANFILmgEQzsgksncXxlXue?= =?us-ascii?Q?SkNJ2nvzZA37Mc0EfDNbfG2Mhy0bSNFcGtNrrlwKVIbyqV6UayzVObVsmZyN?= =?us-ascii?Q?RtCIsbPobvN3HriUgib6jnNnvsoq8jMiRyW6ct+oc0Y3xhk4WSaWQGn1208e?= =?us-ascii?Q?p0yrZ5bjYg6RWj9GsRBLk4vGe3496HdOx7hUpcRWoF05/mra0+ssMuJhxRQn?= =?us-ascii?Q?xgGsJu3C1kXH/apaBBxPv0VrFPkG2uL15lki18ETP7a772Np8QjUz3NQ6Fu9?= =?us-ascii?Q?4hSY+hhmm0cRzzAWuUyItM7fwUe7Cm8JowWHdE+QxHZEJyZX2msQi0VWi+Ha?= =?us-ascii?Q?w9A95jXRXHRz6PPUTt0TejIPRULNGA07hywskUIlw3RjPE49ffSy2bpGJBQF?= =?us-ascii?Q?BN49vqE+Bc0Slhmo/1CoQ+pScXIYBRGa5pkHi9onJ+GLTXsrKZ7UuODQpx/+?= =?us-ascii?Q?JaodIHflYAIwsP8sBy18WXTv6jJQpmjivMOIv/gg+Cr7h+Mw/dGov1v6w9NJ?= =?us-ascii?Q?RDqil5i5rDh6uxUwKPcq+xKrCVuN5IG8WrgcrbNVtsFLV6j9N+mjaJhf6F+4?= =?us-ascii?Q?Nz4pH+48e2nROh7z09Cj38B7QUc3/IDCUHOsGXPgf74vs+g2BrExZFbbH+rI?= =?us-ascii?Q?c1X4Fd9nIBtiPL4WTwKdblDofiSl3KlOkugOknT4/QUJ6Cw/yoyKV6/GY8gD?= =?us-ascii?Q?OFZ3f3wTtITjqf6r/HgCJvdAcOopF41Xt9AaMB0duOZJyY2ckrF3DEu+RJuI?= =?us-ascii?Q?gvlRkBsxxNkD22+Bw3sKZ8UBBVmlNftUabieEEq+COB/ckxi4Ms/dUUBZk1w?= =?us-ascii?Q?ParEfd+MnwZeDLes12REyZu7Kd10S4UAQ6Eew90Aje9IljStqC0nnKzvVoCn?= =?us-ascii?Q?3se+ZoSf5hGrzUeLiKO8k0i/prh1XicLl5/xEpKr/M4JBfhpuC+q/wSACI+0?= =?us-ascii?Q?gbdQ1Hyay7+MD97FRawlBZYTFMiNUiAyCC9KtNkfq9LFIem44XKWMagHj2MH?= =?us-ascii?Q?OHgc9nat0IrT7Ild5bnPG8BtJKTh6TuEl91tH3Qh8tYF5cM+cf6i630SMrWn?= =?us-ascii?Q?9M6SrMtncvlvgap9cYO8qj/HPTPB4d3eYq3UhkPlmu1cOWAJLB43zULZObTj?= =?us-ascii?Q?6yH5Vr6zKgp4bC2R60/Ttqd3Dzc3Vd39ZU9qELP6s+Ebs8SsI2GACK4GMBQf?= =?us-ascii?Q?akR3CH5J7HZcFgcibCnmzaBeBwb3VW58i9ptxq2lH+eWJ+6ebu+jWnodPunS?= =?us-ascii?Q?n/d3OR3zPu2As9hDXwcHM1eO09Ofxvg7rqpRPxkyzmv7nE8arNuS2w0rPiVv?= =?us-ascii?Q?F2EoV+loxe3AnnL8AhLDahmyLZW+ZJkVKJ7weIrWpaxIyvYqNYdoPGofqOoF?= =?us-ascii?Q?+KTwVokx859bA2YUJJe47SNlZVXSDh4p?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?xMf3VO/t01LJuSa1rwRnqmD2iVFgRPgC8RC5EJ/C9Fv1oNJ2VeXOCoWfPeIM?= =?us-ascii?Q?ummMWNKRd5CCs1+NpZ5H7bA8jyAm6RiQxWEvd3/F2CTgxrIXmEuHNU6SpcUK?= =?us-ascii?Q?JAeDiLH9J3/+5quK4M/H8QmyyfM8FSOW/zRjczdL1CzbypWKIrsfS08qrdUf?= =?us-ascii?Q?p4aTrlllAy2dc/B0tCW8hleOHLXibLDbV3bGe+W0Kkk6oo9UY9O213pN4fdD?= =?us-ascii?Q?KMAeV4BYExTsKB2eWQ6yDvo+nZhqOgH9hUmD4SGmadPvARyj/Df8pjKfEPQ2?= =?us-ascii?Q?GclvmB1/S3B1FMPHUlllHG2EfT6DjzdUXOtQw/PORtFPgUcreyfqi9CRWcmN?= =?us-ascii?Q?3yUOOnC/uvW0SR/3zfWZuK2EB5ErWnIEHTrTbPOXpmgCJ/+WnRSBmpp0uVLj?= =?us-ascii?Q?WYjcMB4vxtttzCeyFVNpOmxJihdeEo32AfNwt3k9jt7CzUrpF6Dw6e5Y2jPD?= =?us-ascii?Q?cO8ugRE2SpzzxKp68CBJKtAZGj2ZdW4LDVDq9IBYH1lS6S9M1w3EE30ekg8P?= =?us-ascii?Q?OqoXCc7x3psbiCP7NtF/5z6jaIrVxVxgv/Agi7Tq9FS8ZjkcSP1nEHumCSUQ?= =?us-ascii?Q?N2GNEyDYiMwLSSy+UdqBKFBqLEkLhyqOHgd5CXYqfYfcDGvcWMD/3HTlUoOp?= =?us-ascii?Q?Whp9X4Q9G6/Q47kn9G1ksZLyA4UmAHbuAgCANUa+wKVbH53W0/i2MEfIOK8V?= =?us-ascii?Q?iUKPiiM224lZ2OFCwtXJCF4Bz6Skhj1RvOvxvdVBdMfIJFyhn2BUzSzRiLLd?= =?us-ascii?Q?gE/Nroc0uTRwgwp8ShcFIruqfYw6DcooNbI7Jjo+1EB3sdTRbDBZg1HmVeBH?= =?us-ascii?Q?gIOcrVvNjhQZb6XGAJNN8SqsbHgomfZKsTdYw2HLEKja5/Gf8MrWlYQUmE3/?= =?us-ascii?Q?pG3lgAYCwTQnLKqmO+C8I1nVZn3BbBnXArqhiUio1DUc6lxvbAy8bi9QxF3p?= =?us-ascii?Q?P5Z//2GXnfFraiNV6MOkcoTJTVGNu1dQDpgwH4IJXLjLVjhptQtrSZfYgccj?= =?us-ascii?Q?E1xiUklDfpV8ZYUHyjUJdoEY49zpsWON3EEyeYV5UmnhlBtSIJbkvhDXj3rP?= =?us-ascii?Q?j8hbXVuqEkcoT7D0C9C9A1tN6kSz6yA8LVb9mJ2P5jsR7JecCpM8lcVH766X?= =?us-ascii?Q?e8tStN3vYhDNM4PQ9VEszUjJyni9tXxG8wKGzZQ24DuVS1cUMdJiH4KIRV56?= =?us-ascii?Q?O8fEFLfVgyCFRZx8bRw3HOXQuc3I4InOA8dtPvIkpc7RhMoGv+EL+Mg0o2fb?= =?us-ascii?Q?pma+/HYmDCdNbZCjeDWeWJ565L073VqY94l3CK/gG15Zt0wC9noCrJAfzUo0?= =?us-ascii?Q?ug7u0AlsxeIWo1sgEDSLnI39WlZwoeTWIInVF41Jqbg2iinFE83glpwsIJIs?= =?us-ascii?Q?B9QJjew0eZ9anNlnbJoPMhFNZsRL5iI4wW16UExwywV04vibBteAp+Ink0I4?= =?us-ascii?Q?Jmr9ceEKZltwk0kJNaNinNPLquMpiA5lpWLkLNKMAyL88ukTSwaGIk+q46rX?= =?us-ascii?Q?H/5x6PIt9NKaJHzcXxCFMMe6MG+MoePYrgdaEFL3iKbqtYZFJY+QW7PlKluB?= =?us-ascii?Q?TxYCIgiCDzOJD+d/sHTfGe4NMJzq2wWy+kGTQaYK3FoDAULRnIZxF7dbzPgL?= =?us-ascii?Q?5cW1CkPbLyU0jANyZ5mFAzI=3D?= X-OriginatorOrg: valinux.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: 8398b069-768c-41b4-7782-08de3022b0be X-MS-Exchange-CrossTenant-AuthSource: TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2025 15:11:08.6103 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Dw1YdTgjv6qfPvUL40aEb7+1CpkslSbYSm//BKsQd7s+oZKG6Oi9eURgorSoK27eLfMJ+69jMyf/cG6TZqImoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB3865 Content-Type: text/plain; charset="utf-8" epf_ntb_epc_destroy() duplicates the teardown that the caller is supposed to perform later. This leads to an oops when .allow_link fails or when .drop_link is performed. The following is an example oops of the former case: Unable to handle kernel paging request at virtual address dead000000000108 [...] [dead000000000108] address between user and kernel address ranges Internal error: Oops: 0000000096000044 [#1] SMP [...] Call trace: pci_epc_remove_epf+0x78/0xe0 (P) pci_primary_epc_epf_link+0x88/0xa8 configfs_symlink+0x1f4/0x5a0 vfs_symlink+0x134/0x1d8 do_symlinkat+0x88/0x138 __arm64_sys_symlinkat+0x74/0xe0 [...] Remove the helper, and drop pci_epc_put(). EPC device refcounting is tied to the configfs EPC group lifetime, and pci_epc_put() in the .drop_link path is sufficient. Cc: Fixes: e35f56bb0330 ("PCI: endpoint: Support NTB transfer between RC and EP= ") Reviewed-by: Frank Li Signed-off-by: Koichiro Den --- drivers/pci/endpoint/functions/pci-epf-vntb.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/en= dpoint/functions/pci-epf-vntb.c index 83e9ab10f9c4..49ce5d4b0ee5 100644 --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c @@ -644,19 +644,6 @@ static void epf_ntb_mw_bar_clear(struct epf_ntb *ntb, = int num_mws) } } =20 -/** - * epf_ntb_epc_destroy() - Cleanup NTB EPC interface - * @ntb: NTB device that facilitates communication between HOST and VHOST - * - * Wrapper for epf_ntb_epc_destroy_interface() to cleanup all the NTB inte= rfaces - */ -static void epf_ntb_epc_destroy(struct epf_ntb *ntb) -{ - pci_epc_remove_epf(ntb->epf->epc, ntb->epf, 0); - pci_epc_put(ntb->epf->epc); -} - - /** * epf_ntb_is_bar_used() - Check if a bar is used in the ntb configuration * @ntb: NTB device that facilitates communication between HOST and VHOST @@ -1406,7 +1393,7 @@ static int epf_ntb_bind(struct pci_epf *epf) ret =3D epf_ntb_init_epc_bar(ntb); if (ret) { dev_err(dev, "Failed to create NTB EPC\n"); - goto err_bar_init; + return ret; } =20 ret =3D epf_ntb_config_spad_bar_alloc(ntb); @@ -1446,9 +1433,6 @@ static int epf_ntb_bind(struct pci_epf *epf) err_bar_alloc: epf_ntb_config_spad_bar_free(ntb); =20 -err_bar_init: - epf_ntb_epc_destroy(ntb); - return ret; } =20 @@ -1464,7 +1448,6 @@ static void epf_ntb_unbind(struct pci_epf *epf) =20 epf_ntb_epc_cleanup(ntb); epf_ntb_config_spad_bar_free(ntb); - epf_ntb_epc_destroy(ntb); =20 pci_unregister_driver(&vntb_pci_driver); } --=20 2.48.1 From nobody Mon Dec 1 22:06:10 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011035.outbound.protection.outlook.com [40.107.74.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 BC21B2836B1; Sun, 30 Nov 2025 15:11:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515477; cv=fail; b=gTRoDgWn5aNeKljmMy1SpYNmYQuyZ8nE67lR13UWmpWGf2IIj8WkZe0UwJSHaP2TrsWd3idiaqQL1wMIdSDuWMtkzF880sQlGDuDKdFoo+J/z7YapyXEdzjCKrw9vEwZKW0+TIDzRpjwZMM+NXqlCvU6n4jRmuHwO/8mTHeEgOM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515477; c=relaxed/simple; bh=wFhE9Q+XxbX1jLRxMK+EUYiUQzRLl1bDyGpu5AEwkiM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=MTW6xu25Ecxdeuw8Z7H6yxIFR9FMBkmzzXMErKxkbSKmLoBiZrkS/4MsSkkQTzHSZSE6U7WbCAE+m9qQdNGMrZvWYHDyBCAp89lln2yOTBgDWkGbkVdWBOkn5GydlrbOtUOLPkIAtpIrbhqY2BPyGu3alPevHwjBcfMb4htoNAQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp; spf=pass smtp.mailfrom=valinux.co.jp; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b=R+D3jV8I; arc=fail smtp.client-ip=40.107.74.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b="R+D3jV8I" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DDGgL2falaq166BcrZPjcFO28TT+Ri6YehHEXx1q98mj4W2tejkjWFYlGxuavBcx4lg51ceD7mkTI7VgbdxTO7MNjEvtzrW06OzNlcP0Wtqsg441UCJ6MiV376Yq2B1+ubQ7NcDMuAJNJqm2uWyB8SyaTriJ7AWamZTP1GLRGXBn58wOKXpHCShHDLgR6OOZvpa3ShhyG2DoKqbAsV5rn48gXG8cW+Y59TRDql0bOvSQkvHDdBR8hu4rEKNPFDGS5i9St3WFZUnnZztFAQU9hijR3/JsUbB1goked8b3ngg9UnyY1U6QS74SQv/fjtS1PlXBJ6VlotqE5VjBsb+zxw== 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=yUbXZaNgaExAcWtrAOlLg+aS4C25w4bx4IUYpq7ovFc=; b=MJQrpcwqBRYj+BVYK1UJpA//49VQCLRggEoRVUTMMi9GFJcN0yotP8+gaeovpz6/rGpdAzL+sGUExYl6JhVvgcaeVVQU+WuwUmSBZT7Iv6gCXl5xLsA0xR3doaFG2dOQ8AD1/u0lmNAZML+notpGyfGt9mIPWYl4a6KuLvPfb2Gj6URhVlQ/COME39ow5NEA3zX5RBH7Ac7rI9gTMvTf3pphFG1TFx/v5gfDZaDwZxEMqBsGFmpX9mFZQiJuR+v2b3YPpkUi7MxOSLQHapWyHXueE3SiUl9HTRoPNeLrCofDj/P145vtHqsI0KB9fjShV66p5Viq20phjj6g9LQDZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yUbXZaNgaExAcWtrAOlLg+aS4C25w4bx4IUYpq7ovFc=; b=R+D3jV8IoR2rQ7RokxHi7BBagWKWvFKZhFfCytb+Xl1te2Tk5cRNY1z4cO09/mIp4OopAWf56EwaL0g+YJc3G6QjFRQLCJw+WWpybZprtgItiBFWR8Xhp6lkziukYyjeFyM2+4m+AuU2pii+hZymJYLkKGlDuToy5akDx1I+qgY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp; Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) by OS9P286MB3865.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:2d2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Sun, 30 Nov 2025 15:11:09 +0000 Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03]) by TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03%5]) with mapi id 15.20.9366.012; Sun, 30 Nov 2025 15:11:09 +0000 From: Koichiro Den To: ntb@lists.linux.dev, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Frank.Li@nxp.com Cc: jdmason@kudzu.us, dave.jiang@intel.com, allenbh@gmail.com, mani@kernel.org, kwilczynski@kernel.org, kishon@kernel.org, bhelgaas@google.com, jbrunet@baylibre.com, lpieralisi@kernel.org, yebin10@huawei.com, geert+renesas@glider.be, arnd@arndb.de, stable@vger.kernel.org Subject: [PATCH v3 4/7] PCI: endpoint: pci-epf-ntb: Remove duplicate resource teardown Date: Mon, 1 Dec 2025 00:10:57 +0900 Message-ID: <20251130151100.2591822-5-den@valinux.co.jp> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251130151100.2591822-1-den@valinux.co.jp> References: <20251130151100.2591822-1-den@valinux.co.jp> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY4PR01CA0072.jpnprd01.prod.outlook.com (2603:1096:405:36c::7) To TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) 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: TYWP286MB2697:EE_|OS9P286MB3865:EE_ X-MS-Office365-Filtering-Correlation-Id: 520ea7b2-5d65-4fed-ca5a-08de3022b162 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?kWR3eiGUlKmFvh3Y1fsU2A0HdmaYDoEOC/V9KwGEj8mxHOdizipkd4jG/GvG?= =?us-ascii?Q?F8tddm30DaMzy8weVpiaIUIGUlWw2iTECiTJ7Y+gV78CtCZwuayfRABCZrPM?= =?us-ascii?Q?OSDaXyoOwh2ddr8171yUdL8V0qDtTh5pfHBV8FsuBq1V1nEr2GW+ayeyXp07?= =?us-ascii?Q?kutXGW3dgn4vWUUjik4SdKnGgE12qJedUxdY1uN68y5ccrkcUDwqfvGLN80c?= =?us-ascii?Q?tPSaJ/NZXpx4Hbe2rTIGQmiuKmWy0EDJf1RnFTrCKHa7ACNa6VqrXUl4RxS3?= =?us-ascii?Q?/Mrp3AqVz5VYjdQrdJ2RTkksDqNqf9VRMglB5LwTJauj4be+ADyrG1d70Pqc?= =?us-ascii?Q?GqFShhX3qh9vj84yZWvRZ1lIR7M/yfQQSS62VUFF4gOcZ98aSTGWHzRyR3qw?= =?us-ascii?Q?VejgAAJgs0qPrE1PStX/llXoGXjNvUEQYePlTGFr0cAspNeOXF6pwi9YRrmg?= =?us-ascii?Q?E0XXL3t/P8Xid70EXpyfG/lTUw1fUDkuX2FUcN7CAAoHhm4+GzNkU8KVYyhF?= =?us-ascii?Q?j0qUqLPDPbg8ny2/Cs8+/eaUv9uUvAJ8Je38g/HZWVyxmJ07ywa7v4rIG23Y?= =?us-ascii?Q?VmAy6WLZPpEIC5dP9bAcNOx5nqnLCcVpayKkxTJxIiJPF123UHHATWGXOC1F?= =?us-ascii?Q?hG75FX6abs3fd8xK3QiYSwqZsBNWanw5D4Lrs0Powr1Ig/8buc3mblWZoskS?= =?us-ascii?Q?B8y9xog3B6WaMFgCZL2kWCMvdvkowzd1lSmUuorG4Nr8DltBZYNbHMLO0+zq?= =?us-ascii?Q?pqRSwFzF2IKtXFqSkLtgk7pCR5kFkaEfOdmbyzXCp/t6SCNawxmS5QOCebDU?= =?us-ascii?Q?OZQTWLi8uD0wH12if34MZAwrKXxg5WOfsDwuVdWyT+eW9RHum6w9sG6ACGoF?= =?us-ascii?Q?mH8jTBeTLOKO/3zB+iy66lgODva//XWfkP2wWNCNRbS3MRQW+C7KJztyG45j?= =?us-ascii?Q?kHMOaj3jZ5rc6J+K6RhlmuUtGdhPOB/+SQXTaiGKLCFa6VymTP0n+r+8p4rg?= =?us-ascii?Q?IkBHT6ZYObOjIfOxnMG4k0DhzstVRGnxu/+8D8meC6AZNrgKmjUxXJe0ez62?= =?us-ascii?Q?HOPRW/OlBBtGZq/eI2YrwbeayoC7iRYOCiIUvtpcnfQigbiOx0gXrr6luC3A?= =?us-ascii?Q?7repZKchQ3s+PU6AU6vJeV6qRPotzTV4GJ0N72pjXNvcDKFu+nj+f3AFrG00?= =?us-ascii?Q?zVPmn7Ar/jFq5UWaGac8FgfUx++4h5OO1DiHlK3pnZB7uX/mnY5geMcNrx+g?= =?us-ascii?Q?JAyHBnw6km605r6FCB1LQ8kTExLHwZJam1H1xQ+noEAwR8g1NdYgYGPNlD5g?= =?us-ascii?Q?lqV5Tt4gvK1w0N5uGEwMvEg9IW1FCDP4+cWYZpOrWBxdPdN2nAP7+BtLE2DG?= =?us-ascii?Q?H6xd44n+Py4iYoWsAl41jFhqNKqAjgkm0OtyJiNtFeCgmUAW8knCOrC2jm+i?= =?us-ascii?Q?COoyG1i5pUvG5Y6cPPR3t/BpoDBbbyaD?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7tLf4RRE/3o/7G0vJ6CkGCe+OA4eeUxthbFUs3pgsZmjheqfAvpNwhn4RZ98?= =?us-ascii?Q?9bpiCf5JD1SgPNGcEL8WqRGOpsmZG3chPN8W9jt70rUmoe/Q4uFALW4j+Mfd?= =?us-ascii?Q?h6MxBbcXkv5Mm0TWdQ/qgNBZLMzJ3DTLcr16n903GJpeTb2W8Tugxz8/76Y2?= =?us-ascii?Q?CnIrjE7uihfexPhCckku9HfbBRic+pY5MhxdDhx2k3YHDnKXLu4JPQY+qt10?= =?us-ascii?Q?MAmDs4FSwCJYQxpwH7W4etPvvZ/8hf1lI6ncyOpt+RD74cswz4Dm906j6lYl?= =?us-ascii?Q?PshlPm6i+a3NN7nN6CDx4u7FFBEUFMRVfb+V7f2JTqpoI4NOUBIvptXaHOrs?= =?us-ascii?Q?mHJoWFkNkVhodztxzOee8NmH9aYs2B62bqGapOG97T3wo64xMzZpBf5TYcY/?= =?us-ascii?Q?C4QowBAAd96fcR6jAG2I/CKNxIsSu25EFVCRfdpWUKnnD4K0frqLSpWn94qx?= =?us-ascii?Q?IFqyYkml2ZR3vfP3/mCiCfypRLHMWI4wcQEcEgjXAj06uT92mWbik9Rq4n7K?= =?us-ascii?Q?ekjxBwo3Z6ZwWUyJ4vhCqvSMR0E5G2/B49imuTxui1g8JLfXnDX+jss+BP+p?= =?us-ascii?Q?rzO0PtcHW1bH6OPdnfnT1MbxOkQ3CS5gpcNZ2Y0gRN+Dq4Oji59Gpdp2Qqg9?= =?us-ascii?Q?As35SFUEs8qm9GIWdfK5bhu9C6a3li/R3txcoQnNhdSqNksBsxBFSJwegVwR?= =?us-ascii?Q?/1twiafPso1AMKkFsVVezrRc6/X5DN9srGgmTFTz8xhgw0gnvcYyNWEG3q8l?= =?us-ascii?Q?BGWalNPg1uIR6mb4FjBtezhpzmC4RPRfNkiQ0L03tBZvCrTykEewcj+FDgui?= =?us-ascii?Q?zcjcxTfuBuDur9Ou73qwY8pg/wcmv26Lw7F0BMUa/qlqZdn2jcuNNi/ac7C8?= =?us-ascii?Q?V0BZ0C8UqrcGNGngYsXCPdXiycjUPlO4GyiXnmbw2O18nW/++EJF6YNvT5mJ?= =?us-ascii?Q?d1Mt+5xaAvJTf07OPzKAcG3IfFnFkBUQ0Oo6vrrEzH5g25Kh5EaygU6jUcUs?= =?us-ascii?Q?eClBVEkbVQnqF0AKL3i5LgbkBWCENPVoNgXxs88NurMYI/MhxYwvj5kKPhRx?= =?us-ascii?Q?fart5LWBjM9Z2gQE6vTnTAKVbBjYCYbU37++g88MCCDisWtElb8LWXOIZdtG?= =?us-ascii?Q?qFiZ/Vb8mhO2+Vuz/hjnqMMkPL85TNcaBSfYkO/LqRzSXK1lXfUC3p4f3V1M?= =?us-ascii?Q?iQ2YPcJDbZKVehZXVO3abTwWjtRKhmzxtbCTohbe7pjkz46Jzkkjr7PmP8lC?= =?us-ascii?Q?SGNPZj+y7zi1HT5g2t6QVVT8G6OWqLH5HyNfAYRzd0hY3QH5LGvY3auNRjpC?= =?us-ascii?Q?DEnT1aBuzynQAdGbPUl/V4kKR2S7lObJWz9eTavCSj1rFYN7Zrt+iSEr31BL?= =?us-ascii?Q?5+MmDPgC1iCF4kHiLGm714w5/Xd8yPcsHG7ShR95fjR8B3WAKAEZfAyj7TjD?= =?us-ascii?Q?V+GZD8TFKQXuW0a4YxLOEcUtQsDfOPoqYSJtHbX1tXO9G9D60N4m183UrlYC?= =?us-ascii?Q?NsGwpRURUH+xC+let6aErYexid1NKXIlgmhM30SyaqdElzF/m4qoU/30CdV/?= =?us-ascii?Q?3uiwPSqc82w2GmNeb+0JBzY4jNmWIYokl/tgLNjonMpvLQy7S85HR2RYgERK?= =?us-ascii?Q?3jZE0a1voLNPEqnvc4FQF6g=3D?= X-OriginatorOrg: valinux.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: 520ea7b2-5d65-4fed-ca5a-08de3022b162 X-MS-Exchange-CrossTenant-AuthSource: TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2025 15:11:09.6823 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BhcdI1eA28UsWCnXwo4AX5x+Fw8bw1ZVUFNIfTHE3LkcTFvDUJ1n5FLPTntY68L3LeJnla6Fmd5Neo9UBPXJBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB3865 Content-Type: text/plain; charset="utf-8" epf_ntb_epc_destroy() duplicates the teardown that the caller is supposed to do later. This leads to an oops when .allow_link fails or when .drop_link is performed. Remove the helper. Also drop pci_epc_put(). EPC device refcounting is tied to configfs EPC group lifetime, and pci_epc_put() in the .drop_link path is sufficient. Cc: Fixes: 8b821cf76150 ("PCI: endpoint: Add EP function driver to provide NTB = functionality") Reviewed-by: Frank Li Signed-off-by: Koichiro Den --- drivers/pci/endpoint/functions/pci-epf-ntb.c | 56 +------------------- 1 file changed, 2 insertions(+), 54 deletions(-) diff --git a/drivers/pci/endpoint/functions/pci-epf-ntb.c b/drivers/pci/end= point/functions/pci-epf-ntb.c index e01a98e74d21..7702ebb81d99 100644 --- a/drivers/pci/endpoint/functions/pci-epf-ntb.c +++ b/drivers/pci/endpoint/functions/pci-epf-ntb.c @@ -1494,47 +1494,6 @@ static int epf_ntb_db_mw_bar_init(struct epf_ntb *nt= b, return ret; } =20 -/** - * epf_ntb_epc_destroy_interface() - Cleanup NTB EPC interface - * @ntb: NTB device that facilitates communication between HOST1 and HOST2 - * @type: PRIMARY interface or SECONDARY interface - * - * Unbind NTB function device from EPC and relinquish reference to pci_epc - * for each of the interface. - */ -static void epf_ntb_epc_destroy_interface(struct epf_ntb *ntb, - enum pci_epc_interface_type type) -{ - struct epf_ntb_epc *ntb_epc; - struct pci_epc *epc; - struct pci_epf *epf; - - if (type < 0) - return; - - epf =3D ntb->epf; - ntb_epc =3D ntb->epc[type]; - if (!ntb_epc) - return; - epc =3D ntb_epc->epc; - pci_epc_remove_epf(epc, epf, type); - pci_epc_put(epc); -} - -/** - * epf_ntb_epc_destroy() - Cleanup NTB EPC interface - * @ntb: NTB device that facilitates communication between HOST1 and HOST2 - * - * Wrapper for epf_ntb_epc_destroy_interface() to cleanup all the NTB inte= rfaces - */ -static void epf_ntb_epc_destroy(struct epf_ntb *ntb) -{ - enum pci_epc_interface_type type; - - for (type =3D PRIMARY_INTERFACE; type <=3D SECONDARY_INTERFACE; type++) - epf_ntb_epc_destroy_interface(ntb, type); -} - /** * epf_ntb_epc_create_interface() - Create and initialize NTB EPC interface * @ntb: NTB device that facilitates communication between HOST1 and HOST2 @@ -1614,15 +1573,8 @@ static int epf_ntb_epc_create(struct epf_ntb *ntb) =20 ret =3D epf_ntb_epc_create_interface(ntb, epf->sec_epc, SECONDARY_INTERFACE); - if (ret) { + if (ret) dev_err(dev, "SECONDARY intf: Fail to create NTB EPC\n"); - goto err_epc_create; - } - - return 0; - -err_epc_create: - epf_ntb_epc_destroy_interface(ntb, PRIMARY_INTERFACE); =20 return ret; } @@ -1887,7 +1839,7 @@ static int epf_ntb_bind(struct pci_epf *epf) ret =3D epf_ntb_init_epc_bar(ntb); if (ret) { dev_err(dev, "Failed to create NTB EPC\n"); - goto err_bar_init; + return ret; } =20 ret =3D epf_ntb_config_spad_bar_alloc_interface(ntb); @@ -1909,9 +1861,6 @@ static int epf_ntb_bind(struct pci_epf *epf) err_bar_alloc: epf_ntb_config_spad_bar_free(ntb); =20 -err_bar_init: - epf_ntb_epc_destroy(ntb); - return ret; } =20 @@ -1927,7 +1876,6 @@ static void epf_ntb_unbind(struct pci_epf *epf) =20 epf_ntb_epc_cleanup(ntb); epf_ntb_config_spad_bar_free(ntb); - epf_ntb_epc_destroy(ntb); } =20 #define EPF_NTB_R(_name) \ --=20 2.48.1 From nobody Mon Dec 1 22:06:10 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011035.outbound.protection.outlook.com [40.107.74.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 D64D92848BE; Sun, 30 Nov 2025 15:11:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515479; cv=fail; b=s1FQwK4+uF8MU6EMCHzzlpmcS14MXVjQotsQQwbj69k63eSu21pQJ9tjPFpmnHcOXJoohBnF24NAKVPqc0NsZHDbpWmmVlbah4QRDRtoX0FvSnxFPuVN/ZQb1L/eSvBFugHhefTEnQ8xOP9+h5U8WDrNsU0hFJ/jK6SxNVEPocw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515479; c=relaxed/simple; bh=uzid1QV1XJC1GmqV47rbqHFWIolix5fhpM9QQZi9sHo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=M6gqY+t3py7IoAT9KMVPXKeVrp/q0EunPuC/sFaJ+6RIV0NuNBwTiMu2yYLjHaTia+nbFPmQEqDG865JNjlrorkIX+8fax6SD1AP1UqCkpEYQqwiFJQR/Vb9FxMgswsjRKVcz2/2QlfmCveO2Uwr7YIXPArnmULN9q+kdvtAff0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp; spf=pass smtp.mailfrom=valinux.co.jp; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b=WH+DbRxA; arc=fail smtp.client-ip=40.107.74.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b="WH+DbRxA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UmOaCwpbn+klYv+Z7BioVWzHSyosfw11uN9OSe7OeBKWwec2PLwlJqkmj5DfcR7G9H5wPXDiXlue/pvzcxS63HrcD0xrovxoPizU/Igya7gbLfOBZXfCQRtbmszWDNL9DUYRsKKABTAprR+jWtvo9SK6TA7RRFEhKFMu6oU2DLgRdL6pVrO6phuoujYl8t8D8piN9IsUP2oPD5GsShQ1stFLHQNjp7kCex8xG4ugW3Pad6pW7EzgglP1accS9U9avtxxh4MYBRPJ5bVgcB8ujdSpb+7dPz7uTS91J73eJRATl2Vdb1DcIok8bnFb/sN7k63+sg8/WqT48NW0f11TQA== 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=4K0QQwb53P5cZecHOtS9esSM/n+3CJ1HinO8/AkO2dg=; b=dzXGylWeSPbPhFEMIYyDjFr088JaXLJvNmdDX1k1u3onCoPaLle1r65Qn9l16a1qlgFtDzYQ9XYTBXnCwcsXt7kvxaY/k4ZhdGAI0eQfgEHTd4UxTb92D2V7aCTNtu1DHafkNZt4c+uGQbxMXTrXDQBXzQ+e6/2cBVgn7ysJaokiO0DfFg7YiTgwp2ZMyZeUq7lJpQsx4FE7v20+wHgfnM5H2w0NJqo8zbRPZpSklrMx9fZBvSsnEYrZ3g1/VQoEK6OPqtmdP3u8bMML7pRea9m+c2+ghKXPeSgqwe23egd6SxsuBqLKgChh9I1hwrtIJSgRJCy6He1gJoNQk9dC6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4K0QQwb53P5cZecHOtS9esSM/n+3CJ1HinO8/AkO2dg=; b=WH+DbRxAQNfGzeXAW62QnzatXNNYwdzKId7kjzB/G/UrHwqTKP0OFSB7BYBk8Nh/5TV27fxw3J3Gs/2fbeQm826qaxjUXflEk5V/yy5bNT8IcHN9KSxyRhBvdae30MfBW4re9MPcG6ITnWrOnM5Ck2IVPBntPEz2kQWs8tZ+pdE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp; Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) by OS9P286MB3865.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:2d2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Sun, 30 Nov 2025 15:11:10 +0000 Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03]) by TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03%5]) with mapi id 15.20.9366.012; Sun, 30 Nov 2025 15:11:10 +0000 From: Koichiro Den To: ntb@lists.linux.dev, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Frank.Li@nxp.com Cc: jdmason@kudzu.us, dave.jiang@intel.com, allenbh@gmail.com, mani@kernel.org, kwilczynski@kernel.org, kishon@kernel.org, bhelgaas@google.com, jbrunet@baylibre.com, lpieralisi@kernel.org, yebin10@huawei.com, geert+renesas@glider.be, arnd@arndb.de, stable@vger.kernel.org Subject: [PATCH v3 5/7] NTB: epf: vntb: Stop cmd_handler work in epf_ntb_epc_cleanup Date: Mon, 1 Dec 2025 00:10:58 +0900 Message-ID: <20251130151100.2591822-6-den@valinux.co.jp> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251130151100.2591822-1-den@valinux.co.jp> References: <20251130151100.2591822-1-den@valinux.co.jp> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYWPR01CA0041.jpnprd01.prod.outlook.com (2603:1096:400:17f::16) To TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) 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: TYWP286MB2697:EE_|OS9P286MB3865:EE_ X-MS-Office365-Filtering-Correlation-Id: 80eb260c-b69f-41b4-a3c3-08de3022b1e7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?CWAUc4xXkzzDOUGEoxZV6SHeWKj5HOD7WjT+JNfmXLVCYdOO7Q8E0llN2g4q?= =?us-ascii?Q?rJ8zs2zvGMGiNMGcOnMmPQWwwWV1/pm1JGyyxhln/WnM/sUHxLjktq0DXdkZ?= =?us-ascii?Q?/GX25VpvQXWNH1/WbgEm4gwThHUaCBC770gbpacobPj/tV3PGEUxhaI0pFQX?= =?us-ascii?Q?v93I4nEzMzS7DZNLil1mIev6rQ/KdDwSYQ6aCx8E5ejkLizHXFiCqbNvwFtV?= =?us-ascii?Q?XxarUkuK4eKm3sAZLl4DeqnPsum7+qSoKuQjw1+HzI8IKdOhwWsyWBdzy+9f?= =?us-ascii?Q?/Fj3tdLpWyjVwoPQlR0TyS44WCmlYXnv5us/FmPKyt3MnA0zKVzxKenSexu7?= =?us-ascii?Q?lvRHtCwJpsmJvL//KurN+8CjJtLKCDerTIbxWd9SgzBKNaoeXDJUa0TklLM2?= =?us-ascii?Q?fr3+lhVMiACSPoehe2ijO5iQ8AlyCPy3Ylzq7+awXvVFFanZRGHY/1Bz0da5?= =?us-ascii?Q?1Dh2LjWD9Zw02XgceXuECjtfE7TkiqEHUxo69W9m885sS/lAZBOZL/WvdE+x?= =?us-ascii?Q?MDLkxW3LznR6EW3Tje7tPy1WLpqAgycYfftMecW8dYRuPp3t3YzDKZRnljxT?= =?us-ascii?Q?76g8GPhblXv9VoWTuigHrdyWcZ20ELRdeWoqBwABW/+ZoboMQSsjFhUlk8Tk?= =?us-ascii?Q?fRjx/faZxVWq3p74c47Av5I7/IxWjn/gxT76X7C0pxT6/tu+1lAsKgXrixW0?= =?us-ascii?Q?yJXdOCp8vbDpBN+bgPsqBkeXw789W9RrRYxArOuvtrOCCf4bLoMllSBSVAj2?= =?us-ascii?Q?jp59su8rGqYXUkHSuJLVkjE80bMGNQB+Rldsm6hVBoE3athiT/5FXww4m28X?= =?us-ascii?Q?s/Fguap6FWBrLu1cyNSqQsnjsLRW5McaWQ3VbPijyApKst2qeOdD4zN51x0r?= =?us-ascii?Q?xQwJb4k8nK8xbCeFV1LBWd2lxMYBNwbP6U557Ju7rVllXm3eFfMJNHR8buuv?= =?us-ascii?Q?y5u3UQKaJFs0z0Qn3aid8y4BWrY72/ebCAMGRoxOA6NiacsnIv3xuse3WZQ4?= =?us-ascii?Q?7lptcmYr7rJP27EFgW6YvcVt5kKQyB9hZJijnO1zyRtwfnPK76swsiG/dd/P?= =?us-ascii?Q?3XpQmBh7J3PWL/7ZoInYA9mE801BOdzfTmPKnPkou77xSAmRkjkBhx4t6lZ0?= =?us-ascii?Q?zWuV5EJjf1BWt5dONHUkWk9hn9bdczyWvYa1tKvQO2yay6nnjEsZ2S9D0VzL?= =?us-ascii?Q?XfaRYV2UMeRUfDNQPdCqlRVhRT3Y3SzHdDwLEuivxvUBNAAsSMC6NX7Dnl6P?= =?us-ascii?Q?IGDyISK/MSbIPmqG/ai1GJI3wJS8ZJSE4Mncbd8/dqar8KEAIRbjEOiLklR1?= =?us-ascii?Q?gj7E6qQPHKQRJc49Y1osOxN0ujDf8glg/l3bOHE1SIF5+YiwTkM3s4xzT1IK?= =?us-ascii?Q?Tm0WjIy8x57xThV0xvEMU9SgAC7boCWQHxtJP6EheESYIDVrCTa3UiCPtetX?= =?us-ascii?Q?In2wHrtdyry6na1XGjn5ipTWcbvrM8JN?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KsBbsS0tU/v5Rf5SAqt20UGoNYhwgmS+HaX6qYAiP49AH9c61IGR61l8jtDg?= =?us-ascii?Q?06fNG6dR/tZdo9UkzMA9WP4aq8Ii++tk999nwRiUscfReBo2NAEE1X17Ah1o?= =?us-ascii?Q?oGUx9gvlc2fmRQl6XEUZE0GF64Kbn5sBSXJH0ZCa4WgGqP98/bYBXQS7/CWm?= =?us-ascii?Q?R6K2Gu3GL5P/AmsBVzeDNKXwqii5W6Nha5dDtVghQ2fG75qHD1i+vtxLXGwt?= =?us-ascii?Q?E/61KZzBvgwaZaJrbl3NCf3ZWJvtb1Y7PWJby4nCb5HZRY0OwUzuURBTyELX?= =?us-ascii?Q?6DmcvDx9IuQDC6jQ6mdDZsba0M9QGvwyHDL97+dnzTeUpHjZGTsM7OSYevGW?= =?us-ascii?Q?/Pmc3LS+x7ey5nxu68Al5e/W8tOijKnVUSUtfparvC6xTfLIMCs2UFnkmV9P?= =?us-ascii?Q?FRnqMntjMbf/6AtO8D6UxS1BSWe43YEHC3J4ZA+dBqdNxElDzL1DpmW4A5gm?= =?us-ascii?Q?KR1h7564X48zJdOlHqey0VsB7SBWB0hJdFkQkTiQTJzVqD+N/MIY4nVsyrx2?= =?us-ascii?Q?o3bKutwEMb3M6CEdDWS23lMVAw1I/S9MT3+5B79fWWwlSDVxZg0rS/eWmQoE?= =?us-ascii?Q?ZpUQZDEygwuRiU2njP3ARfS2bcy5zcZQISgqnACJ2DJ9fkmosro6Lr+vt/pw?= =?us-ascii?Q?TBH1RXnGH4ODtpr7e3T4VHP8Hl+9EBghOM42Kp62fF5KKfS15+IyvE1Q9ofU?= =?us-ascii?Q?NcddwqT7QFh0TbVK3qIwoREVi/V9JmaX30H3Mk316cctPmGszrWavJNUY8ge?= =?us-ascii?Q?m13o+VFqL9bJ88Qw2XbEH5bnot6fj5Urhirc6cG5XWPTbCRGE8UPzLIOFNp+?= =?us-ascii?Q?ovdcqoELGb366MumLZPso2FnxiD/SRAEhKXvTAEfm+hUEa37G1sPquxnqDWL?= =?us-ascii?Q?JyLGyYDamw0ht02FsncvZUB/0TMl3CepxSfRXV3WB8qrABF12vF0A3bTlL84?= =?us-ascii?Q?ousM0cnUlq0Y7ZwGn3Q/W8T18HY0r1iN0Fi6bbb4NIZSczfNvircHjBpCQXh?= =?us-ascii?Q?iTbX5/ojTU19GMZCrHbOp/srpoVDGNoEFqAm+rHkKDsZaVYPUYyIfEJ7Hukz?= =?us-ascii?Q?TBc2pYYz0eVgzWeafM4l4YV0ghDvKiFI+abMG8iBCxzNMYq51rmeLGUkdfOo?= =?us-ascii?Q?YoUr6KvNz1RiB7c94XCczU1Ca2xpJmgYyRHT0JnBByPD+inZaDZ0t8lpXWu8?= =?us-ascii?Q?Lq/L/ty2z7vetEyxq5w/gDoHvowA0UY1wjXhQXyjOetUwrQQlwW7shEMB8m9?= =?us-ascii?Q?0KtVrgFgct/QPZAkQga529LBdF6slht3NasbR6U/8MxFQ9aa7A4x3K7F9IDT?= =?us-ascii?Q?bLIqSnpx21qq2V2aPYEvQBbEfL+ZLfW9r10vhElo3XqkT2TR1HrHP5PZ56hu?= =?us-ascii?Q?2Fc2eYiAnzgDRewjWDnTNL3/y95a+eW8VLOfwDYuBa3yWdb27Xeu1Wp13MrT?= =?us-ascii?Q?Y8jyw9kSMrZ+/Tth7W9z6bqcwOI8HTDQvZ8BGOYRAQK/wwkJZCejacrr7xY0?= =?us-ascii?Q?A5x0pEBnmq7FBwMH4gRivPORXmcS9QmKX/W/nuxZrYMyLpLvDnLZy6cn7QtR?= =?us-ascii?Q?S+kefFqp2iXVN0i9NyZEp0Ux8wKUtIQxiOm4vhCwmboKO9PV0e835hKmoC0h?= =?us-ascii?Q?vlbJuUwoFoWzAWrt15Jef/4=3D?= X-OriginatorOrg: valinux.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: 80eb260c-b69f-41b4-a3c3-08de3022b1e7 X-MS-Exchange-CrossTenant-AuthSource: TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2025 15:11:10.5505 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tzcO4rijItEf6iuTEFkdtBynhWZ7NyuEjkeTVhO61K8Emp3iDIYuM7wLZYzeHyzamgFp62hBP2aTrC+sFOxxrQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB3865 Content-Type: text/plain; charset="utf-8" Disable the delayed work before clearing BAR mappings and doorbells to avoid running the handler after resources have been torn down. Unable to handle kernel paging request at virtual address ffff800083f46004 [...] Internal error: Oops: 0000000096000007 [#1] SMP [...] Call trace: epf_ntb_cmd_handler+0x54/0x200 [pci_epf_vntb] (P) process_one_work+0x154/0x3b0 worker_thread+0x2c8/0x400 kthread+0x148/0x210 ret_from_fork+0x10/0x20 Cc: Fixes: e35f56bb0330 ("PCI: endpoint: Support NTB transfer between RC and EP= ") Reviewed-by: Frank Li Signed-off-by: Koichiro Den --- drivers/pci/endpoint/functions/pci-epf-vntb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/en= dpoint/functions/pci-epf-vntb.c index 49ce5d4b0ee5..750a246f79c9 100644 --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c @@ -823,6 +823,7 @@ static int epf_ntb_epc_init(struct epf_ntb *ntb) */ static void epf_ntb_epc_cleanup(struct epf_ntb *ntb) { + disable_delayed_work_sync(&ntb->cmd_handler); epf_ntb_mw_bar_clear(ntb, ntb->num_mws); epf_ntb_db_bar_clear(ntb); epf_ntb_config_sspad_bar_clear(ntb); --=20 2.48.1 From nobody Mon Dec 1 22:06:10 2025 Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011051.outbound.protection.outlook.com [52.101.125.51]) (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 879AB285CA3; Sun, 30 Nov 2025 15:11:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515480; cv=fail; b=I20sWwbtrEc7RzZ+vUniUGEJo8qRRKbzlvq1JpkzjZk+8s8O2QUwHsu5FvZWQ+WjIsozeY9hszxoEdgMPhQRWpZ/Ym+CuaDYRouhgnoH6oo9DbCFPr00hnhqVT6H78D2PR/cYTjBG9E4x6cA2Ps46ctMiXk+FUlVuDBPZIKx8Gw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515480; c=relaxed/simple; bh=h/I4zfZaV0SBGXfxmOco9smNG6ZXKd+B8eKMWZz3oQ8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fJA2EKP519iPZm7TPGOMok3VuvdHphJ/2AOF5izCwC/CrGzii5MpfvoiQriEEHrcFH4SyDNLzpWqiaT0AtL0b+xpQmh/mLrEzkWURB1FoTbmMM8hZctPvQoVSclggI7fknNlWUaA33dZTUi3cmCbJvt+6beoea6c0PDOsIFj9x0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp; spf=pass smtp.mailfrom=valinux.co.jp; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b=caTv2hyu; arc=fail smtp.client-ip=52.101.125.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b="caTv2hyu" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pbFxmr7yihjqSTQelAHTBQDDx0fmLLIsueCX8w9ED1TbZk1bCewkF7KFKTahCYPhJjv3138tJpScVWuynRO1evkH/Q0aDsG3qrifdWutpHU/J/qwoI1L2DgCyyfjbFThujEc2fosHXV654O/oG6IbNjHWrUqPWFfeSRrkDY6aX/5ZY49fSqwYsXFxoJLDc3/HlMnTUyP7ssey+0Mk8L4irkwD1EwnAoAQelIRQJJwNG2kcqtfAGsrtaDqAUXzpivsbJx+pCll0K4rAB2JizzEUbdFgy086HxB7f+RV7dIzuui0lAgQa35Z5G1GRwlqA3IPJxa8Z6X9oJzSaUiLWrDA== 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=hDbpZijf/VnOIP5EHW5yX5vN+z8BWR+/QGOjMuYR5A8=; b=KX8+NIxq6gnqJkRdzfF9BznqwbCIKTwytoaRigi7LDRwL0686wYbwARvRl0+1ruLEW5lM5poNAcN5wYXHGbp9l73rTyzrbuab7/vWXZH+puZeAWWb0z0KlwNC97F6nTKJbW2Ve6eSyy2xXFculKbkm7VQopSJMaSXFUGtseO9hShH0A+W77yEuIirkcSlcseR3IPfR7FmdNtIJhcgbK6hBgHyvzsy5pz4lwNmHft5N4rK4A53SSoyp9aqvsMqdlxOJxeZdc61Kcf+QEBvfDmE+iBhwmSlWh25HlpjzBphEseGgRJ77N5qNtb+p+x2rhDfJ0aguAqhISARf+Dr6uH4A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hDbpZijf/VnOIP5EHW5yX5vN+z8BWR+/QGOjMuYR5A8=; b=caTv2hyuepmzMXwZF/ygjt91bV/fQxXRSIWqR9aRcoxYSoS9et+wl2Y5na17T04qPAfp89UKlNAV3nKFhT8Jzg+059wiaccCShEwY0B3bmEWMsbAOy71+u6Sv6IArxX88D1+dpAnoYJFTsaSnqF/fYhq4m9oIXO/nteh1/9+os8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp; Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) by OS9P286MB3865.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:2d2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Sun, 30 Nov 2025 15:11:11 +0000 Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03]) by TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03%5]) with mapi id 15.20.9366.012; Sun, 30 Nov 2025 15:11:11 +0000 From: Koichiro Den To: ntb@lists.linux.dev, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Frank.Li@nxp.com Cc: jdmason@kudzu.us, dave.jiang@intel.com, allenbh@gmail.com, mani@kernel.org, kwilczynski@kernel.org, kishon@kernel.org, bhelgaas@google.com, jbrunet@baylibre.com, lpieralisi@kernel.org, yebin10@huawei.com, geert+renesas@glider.be, arnd@arndb.de, stable@vger.kernel.org Subject: [PATCH v3 6/7] PCI: endpoint: pci-epf-vntb: Switch vpci_scan_bus() to use pci_scan_root_bus() Date: Mon, 1 Dec 2025 00:10:59 +0900 Message-ID: <20251130151100.2591822-7-den@valinux.co.jp> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251130151100.2591822-1-den@valinux.co.jp> References: <20251130151100.2591822-1-den@valinux.co.jp> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TYCP286CA0091.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b4::13) To TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) 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: TYWP286MB2697:EE_|OS9P286MB3865:EE_ X-MS-Office365-Filtering-Correlation-Id: d80120b7-9320-4bdd-c467-08de3022b25d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?GCrPNkUTwNTB7xJIxaufZ49G4Q3rnjFy8emE98kj1rCdHmZpoYmyZicSV7U7?= =?us-ascii?Q?iEiE/L3D4swHuY/or+3R/InBEfJvzVf0avcCDQHYjkuF7xfrNFCn27tR+XXX?= =?us-ascii?Q?tt8sdplOXm+0wGf1LTswE/f/aovxHBnx4EhwDi38apjlwdrvZiSMS/QmV3f8?= =?us-ascii?Q?Uvap3r/rpdUTjQ5EcnHjKWrCEewozZRf1QsKmjhRIaJIz4fDL6P8xvXAlX+z?= =?us-ascii?Q?XBiSOklp9syRrji/oMHXAVkX7msXpUm8j13DhtkziWG29fb/j5dwtmSZncSi?= =?us-ascii?Q?Q8nCD+mGzVdmKCuuafCpUbaXO9aYaxbKQ6xIzGru6t5yHtcGYqurzqAoXr39?= =?us-ascii?Q?H3fZG6WMRVVsBlhfVEkrjap1onG2WU4uvti7fVdBLeBp+OmJ5ALwOI/hLp4z?= =?us-ascii?Q?IXEz38nj5qr46ZRB0gohsvuSaYgt5BdOWZHjAXaNVTFVfMT4MDXNfq5mjpfo?= =?us-ascii?Q?LyW3oT1AeCjoNCIyG8YUws310colQySUCO0058R4wigiY3vO88cX1qb7JwH5?= =?us-ascii?Q?0Wbu9Ui4H2X2e6gd1qf/XzBBIooE5HesAfN8wwTR7hjDvTpe1+El0FBjjcNq?= =?us-ascii?Q?LxUs+GB2ijSS2Qw2ZzCjz93wMeewau5aJmcAnfTRqcSt2HPKQjN7QI2cjUHZ?= =?us-ascii?Q?kdJUAHqdCefnPhOXPgNw7YLpwVDN+wjgW+xSfSA/do+cTqkxE0AGJXW2ctH7?= =?us-ascii?Q?dd06VGzA/rEtw+H2DsTm7D1jP/ZBZ3p9I2eJtfRNPFkgWHn4yKDuQpDFjYq/?= =?us-ascii?Q?j0aD7p68hmVYnGCBKPUQpKmg6gWF1ZRwM1wMtB+5VHKVbEZDVIzKXemc2cGV?= =?us-ascii?Q?4sNDU1Dj61iUfb3WvsE+iQBwjlEG/O4lmoEl3A1pZ089jv3eF6Pxe2NISQxz?= =?us-ascii?Q?1FiI1hTlS7NzMfYa/bF7mr7AlXqHOWFUECaFl4I+JYEi8oNHTqTXHaYbqcmv?= =?us-ascii?Q?FhR4VFJcKryz47clhU871PHVrM/AaQ5ku6UC06ZeRLqVcqpr4+njskEJ61FR?= =?us-ascii?Q?nm6CACRQM0L2LBjFqPhUi7HnwIGbhB0hpNDjNPEZDTXFL5rLty9zEjQtbOB0?= =?us-ascii?Q?ZNcRy9l/z74ngd14ZPqQt+umuOKA9NrY1w9AoPnLOyHwAmh98LjaAjBE8eHg?= =?us-ascii?Q?yZoWTXsPTOy92ebXfQ/fXgFu0UwQogi8NA7jdY2MKKTJyCDWd4m5JojOkbEG?= =?us-ascii?Q?B4MEdNA8hupSLNRRe12r+Ax+wVU3vcHAwjXgbfjcwoon/GO/3qDDGheSnzx2?= =?us-ascii?Q?eohWyIykP1SmZ9lJ9E5ACZz0tk+A8LAt+lyTPcgNTGFZeLLzHp39b5fkW3kh?= =?us-ascii?Q?wGzbAtv8PlLFp98Gecn2Xubz5yijU1BW3BnH6GsrbhwzJoUlYKh4gJX76knc?= =?us-ascii?Q?Mm5vG3RGC+Szk9+mZBq0m3Kf39e39FBO3bq6sJB8AIV7BqRrNpvZLPoNXK0R?= =?us-ascii?Q?qu66ncl8hgcgw4iUB2kyZFunKPHXT7Ew?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UKu3IR2Ca5kp+mC0k/VtnhdnJdYuzCAzit7UEHhRoAIENVdziBKUWBFHLrs4?= =?us-ascii?Q?c8UNqTA5qXYtchZnVwQSi1753l0Quw9ZIrD4v8ttMK0Tk+8OooJf6vfP3OpH?= =?us-ascii?Q?OaOZdQIFPe8XdeSX/+0nNrHAKEVUcPEN3PnqSeXL6hQF4FysVQj0mA97s+Zp?= =?us-ascii?Q?F77FS5GpzwMAxHThokOJ1mig75SyolVfpoLXwp3kleAQyOr4fSCMWPrRaIRk?= =?us-ascii?Q?A+oZt5uMptUIQYjYuV4HBH6xIhzIMegRss4BUfljVSM0n7E6ycEvQpOAUdz7?= =?us-ascii?Q?mRWbzvCJIm+/N4xle+07UahvL1lEE2kI04tTf1kimSayx3ZKhh2OnXqQKTko?= =?us-ascii?Q?0gXfT6R8f5bRAijuoKyoNAaCtBV8GBhqx40wRBVg4GS5IPdNV7fKmdkqfETI?= =?us-ascii?Q?pMkLKNGgddRQElr4/CHfyVtbclG4lX8hSmjup0gMalAKWc2XTMxWw2Tfyb8P?= =?us-ascii?Q?qeYkZ/6DfZRjV1Ocbnx+Tq9DW9yOek5eaGhRV36aTCahXE6mD2ZRiRl3G2by?= =?us-ascii?Q?gTcLR07kqKNy5+q9M77vP7+vGFBlUfHb9OfuOJKcU63z7zBwb4NMLP/pDKok?= =?us-ascii?Q?lpcqtdFTXzW3DZENzyl45X1HEWzcYm5S3j7FtkhmFxx2NOWoQQt3aNj+aHQ+?= =?us-ascii?Q?q6TdbSxoorD12n9n89rK6kLbOufH7EqveeTzTCXMw8q61wGzog5K7DNflE30?= =?us-ascii?Q?hXVPXtCZ1nnBPJSpUaod2SIxXeT8kVX6iYW2MlAF/hi/1fpyvg3NPGie+Dg/?= =?us-ascii?Q?RAbKCx6BEfEICcd9vbB5n9MjJUTuBaa5Lc0lpFJXago+0TYoSFgpFHcvv2A3?= =?us-ascii?Q?DdgX9nydCl2PWAvLW73fZ7pdNuQP2uVcyKoqUTaWAbttxuF2Z2/Me4QL1T8r?= =?us-ascii?Q?+giCJNggd/VbIPPKq+KJdiV9NeuZirYe1fPu4cl0uGFKhZarNwmL+3F8uMgT?= =?us-ascii?Q?Z2QJHdrCDCtuK+SUA4Dd+L62LPuTFGRZoxP2GV9+7rngsbFSruPxd1/jR8jn?= =?us-ascii?Q?CByZqnnw3YnZivZnQ7qDo3N/1vqdUVnbIO6Q4TpSc5bAHQvRi2I1FjitJx4L?= =?us-ascii?Q?xPF3zgOXq2sEtVebf0zEjqV4JJiFzynA/WpMuVRHfY3jRj8NNBVLrmWzNSK+?= =?us-ascii?Q?B2LoMxse1XXEnGgphXApkR94c8NFCwiaMzMtoSTYLZYCbletFdJ7qXtSMxdk?= =?us-ascii?Q?kQblpI4IwQ+FhInuy4zG+Zz54yRnSkUpI6RkXPk8RWEC0ozDYw/dr6PDdaRd?= =?us-ascii?Q?cUfXs5RrGZ/lI7vPqoPbSd3Xoxnz4JM/lLJ+6xuT7sgLsP3Tpiq2YljlpzsV?= =?us-ascii?Q?ruNVingUQiDB7q24TadUEM+dYJwLhZ+6olGWewaQlgJ+wIkN7vCIm+G1KZJq?= =?us-ascii?Q?aSbuGEQgJ5AKWlC8sfADM9jX7g7vdnpG1ygcs/q5CDtYus0XEIA/LhporCfj?= =?us-ascii?Q?LUNf2Nc/fLWSNxC995DaS6uF0+BdT/W3qEvVICmn9OomDHxO8kYqcbN1leya?= =?us-ascii?Q?/8HnNbkUuguHyfCn434UZZs6O1Ha2KW1QIAyaGxn3XKpRqh4/zcxxlYTEc5y?= =?us-ascii?Q?BxZDOHfLNaP5B48ZBKH03mnDU3BhPk40EaKCUivFopDVQ3Ag/vcPyF10O4sG?= =?us-ascii?Q?/5QzcPoLTn0NCPRW+nJz4K8=3D?= X-OriginatorOrg: valinux.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: d80120b7-9320-4bdd-c467-08de3022b25d X-MS-Exchange-CrossTenant-AuthSource: TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2025 15:11:11.3512 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xTBVZFYU4P2TaqH4etZQmY3gS5+MuQ95ZF01TFgkHn19xswlw+Lmy5tg65USMHZaU3Fvc3CfTMf/ECdsl+++Jw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB3865 Content-Type: text/plain; charset="utf-8" vpci_scan_bus() currently uses pci_scan_bus(), which creates a root bus without a parent struct device. In a subsequent change we want to tear down the virtual PCI root bus using pci_remove_root_bus(). For that to work correctly, the root bus must be associated with a parent device, similar to what the removed pci_scan_bus_parented() helper used to do. Switch vpci_scan_bus() to use pci_scan_root_bus() and pass &ndev->epf->epc->dev as the parent. Build the resource list in the same way as pci_scan_bus(), so the behavior is unchanged except that the virtual root bus now has a proper parent device. This avoids crashes in the pci_epf_unbind() -> epf_ntb_unbind() -> pci_remove_root_bus() -> pci_bus_release_domain_nr() path once we start removing the root bus in a follow-up patch. Signed-off-by: Koichiro Den --- drivers/pci/endpoint/functions/pci-epf-vntb.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/en= dpoint/functions/pci-epf-vntb.c index 750a246f79c9..af0651c03b20 100644 --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c @@ -1098,7 +1098,19 @@ static int vpci_scan_bus(void *sysdata) struct pci_bus *vpci_bus; struct epf_ntb *ndev =3D sysdata; =20 - vpci_bus =3D pci_scan_bus(ndev->vbus_number, &vpci_ops, sysdata); + LIST_HEAD(resources); + static struct resource busn_res =3D { + .start =3D 0, + .end =3D 255, + .flags =3D IORESOURCE_BUS, + }; + + pci_add_resource(&resources, &ioport_resource); + pci_add_resource(&resources, &iomem_resource); + pci_add_resource(&resources, &busn_res); + + vpci_bus =3D pci_scan_root_bus(&ndev->epf->epc->dev, ndev->vbus_number, + &vpci_ops, sysdata, &resources); if (!vpci_bus) { pr_err("create pci bus failed\n"); return -EINVAL; --=20 2.48.1 From nobody Mon Dec 1 22:06:10 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011035.outbound.protection.outlook.com [40.107.74.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 C3030287258; Sun, 30 Nov 2025 15:11:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515481; cv=fail; b=S8u+9otaycNfuWasB4Q6zqz8DaUINlGKBJbQMvCHgk+mvrZuIEKY7IO8s/A90CUcA29tbSrxZCOqH5a1OTbndjfKUahH+Wi9/uhXPjIFTrV9HcaBOXTuMxHx8RKcpbpzmVWo/c+02OCXKv65csqY68sF3nerIvZ/9WvSzEEeS58= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764515481; c=relaxed/simple; bh=0gVVf2dbINxO82xeGhwelgYu/pmcZJunEJPv0I0aRCw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=D5FljRyq/XElwQplajtnPcKteHfo9b9cdVO8hTiFjmNKWDqpzupwZ1BaiEFeyiHbiynP9YIFdKFfQRKjcaF/XNJL6WK2vb8V0Y5woubBI5DgrNxosCkLzphaqldIpgdJwvQvZHhlhgzjjytcx6ZBZCf4dT9xWaTBuGKJ4ohwJ0E= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp; spf=pass smtp.mailfrom=valinux.co.jp; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b=Aq0KfGfC; arc=fail smtp.client-ip=40.107.74.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=valinux.co.jp Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp header.b="Aq0KfGfC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=suyG2/qyLFosQNAxpzNB7Evebv7RO8Y2ktJ3so3CWeNtEbt7b8BhXilnx8zXR2qvNgDPNXOvPikfRbP+Y4uggnSsQwPkZhzfYjmSr/XvakSG+naos7QjDlOtyUk7YPiO8KfzGhxTysiZnar6YSm4L/wOsSTqiWTz87QP+wK1u1oZPQ8YnsF5wu0xLhZmtks9jiAWEyWeGfBGSPJilgiL5sUJRJ2E1EVnlEaCWENPKDsZ0tKDfPRS5/gsu68ey9YmJ2udKQaZm/wSWoFqaYO3lGhuMno5vfUXEiriV+GcOux+TfwqOEK+UTLLuA3cnASEsMv2NTmtMHwtBamuxzaypw== 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=SjInjXitM55lcH1fYYU+3JPnRk4aGhgmePwASmpChQ4=; b=sAVGW/PiN5ixnJeMVbWZ47dpH2tGAClZPyMYq/x84x0Hu/cJcc9tULFym7D7qloLHv3SbaZIOyrOZwyiORNsLk9y8ryimoPvf25ntXNe9opUuAXomjwrilPKLXayP7zys42cWRnD061+yuFql8V5x3ZGw4tF7Dna/zFCLlcj9qndWhd7qYs1Nlg65b1iezw7xgQZCpbhMcafP9Par7ShOKGEfZgJuKNo55FyLFFKvoMEq9S/5Hj622qDsbEA/oQzTW2ebdGX3N2QJlRnumUB3WwftVRCyqeoBdP3O+Jdlz+u1ASra5Y4hVay1jcP1YPPKxIS3h/URNu3pQCeHjTY5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SjInjXitM55lcH1fYYU+3JPnRk4aGhgmePwASmpChQ4=; b=Aq0KfGfCfHNMLuiQWI5jkCX+GuhYpO76t3ox75fBw3lz2r0kWvVEipBrglg4C6AATsknkqh8aRmLxTHWO6EZPF02c2EJrLsueOs5BuZ3yKuN0fWwFyKU1BtSj7nnepSHsi1KOgEyoZhNVBLXL5auT0W3f9iuXxPAM6cr7PnOYAA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp; Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) by OS9P286MB3865.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:2d2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Sun, 30 Nov 2025 15:11:12 +0000 Received: from TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03]) by TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM ([fe80::fb7e:f4ed:a580:9d03%5]) with mapi id 15.20.9366.012; Sun, 30 Nov 2025 15:11:12 +0000 From: Koichiro Den To: ntb@lists.linux.dev, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Frank.Li@nxp.com Cc: jdmason@kudzu.us, dave.jiang@intel.com, allenbh@gmail.com, mani@kernel.org, kwilczynski@kernel.org, kishon@kernel.org, bhelgaas@google.com, jbrunet@baylibre.com, lpieralisi@kernel.org, yebin10@huawei.com, geert+renesas@glider.be, arnd@arndb.de, stable@vger.kernel.org Subject: [PATCH v3 7/7] PCI: endpoint: pci-epf-vntb: Manage ntb_dev lifetime and fix vpci bus teardown Date: Mon, 1 Dec 2025 00:11:00 +0900 Message-ID: <20251130151100.2591822-8-den@valinux.co.jp> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251130151100.2591822-1-den@valinux.co.jp> References: <20251130151100.2591822-1-den@valinux.co.jp> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: TY4P301CA0054.JPNP301.PROD.OUTLOOK.COM (2603:1096:405:36b::14) To TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:24c::11) 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: TYWP286MB2697:EE_|OS9P286MB3865:EE_ X-MS-Office365-Filtering-Correlation-Id: c310ed52-bbe0-4679-7e79-08de3022b2fa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?2mWbmidH5QT9fVIiGMbYWDucfjs/dl4PhhAgp6rUoEpNOLWI8KstUUVkoa+o?= =?us-ascii?Q?eqONFV4K+mxlmLXkfUeNMPSRTuLJEzAWSa3Ma7MzNS1WxUAt0xzSyXmnCO2Q?= =?us-ascii?Q?q//oAS3thwBXKjKkPbXJBfj2eX98d5GU/v1PDOmW5UdbC8PY6PPM2HCiUmDV?= =?us-ascii?Q?tqujkNr2749dhWcJiqmHZGQwuEX7jC53+938drJYAZiaHbgSc54mhugA+bqs?= =?us-ascii?Q?G92lSP4QfCWAq9H98o9j2CjjbyTizDOjAEBxNA1CX3dXsPPyJlUVplO1lz2S?= =?us-ascii?Q?R/eLnPjmy7QEpPXg1ONRiUfNqxjvjWb9gobPiOempdpM7q5ME2ynWr9+4nhY?= =?us-ascii?Q?ACRtvWFuitPSUJEcoJIvcXJFGccoOqGQYsERwdDye3TD979V9uVEA+ekWOOh?= =?us-ascii?Q?bXz+g9hGfG5uKG9S0Jtk2vWsdOXJG8jxFrcq4KugC4tqBQuq9WzWIWDYjpfe?= =?us-ascii?Q?9EZe3nvyNl0kh8MzvmXSkIb9SDF7dIjGLCKJbhrTBxd0iQuna/d8Xl5J0XSo?= =?us-ascii?Q?He58ffNmDyCPmdq76L2XsCwyLUcHds3nbS/z2//eCya2IR+KS1P4MwjrDm1S?= =?us-ascii?Q?MK7/Lvj25twS3xYMqFRKk5TEbKXKCPORxfTIBrhkPBKR9u6umVFC8W2hFDMU?= =?us-ascii?Q?4FJRIhCpz55Q4Mz4Qxac9GjSQjLuQRscI1jsMkbs++sQUcDCbYdhuBlkS8BF?= =?us-ascii?Q?TILa8Q9tJ64FSYiUvAowpDH5tduCSEc5y1Qp1VhGYgoDOQdcQ/2Clhpl4i4+?= =?us-ascii?Q?FglvxYxvyn16Alkoe0lQa2rN66ZkBZxJCTkI205nMfHdL+NUjxCeOZV52MCQ?= =?us-ascii?Q?ghiWVzl7qkfgHXqJ92j6Djor5RGxpXOtbFIG78IqOBJE5gBszOddJWgKfO+B?= =?us-ascii?Q?jEe/Ta8BL0oRWaJNIzwCZVhEWqLGTlwZ/ZOGvpq4jbmtRZ9gxW3h2Fl1WbO4?= =?us-ascii?Q?NF407Qiy9fMU5Bm0nM1YrOJCkE2FwEspUQSB5lUuV2o+DO2K3c+YMTlcKquP?= =?us-ascii?Q?A2408dffjZJ7aa/32gaigLASTEPJQWnrms23DJalMA+/ZXPL5cgWjr0G8uAc?= =?us-ascii?Q?D4/OWJE1Gp1mk4E3juLQOJVBn+4dRa3iXPjc/I+gwWgEegJITKUhyKG8bvlS?= =?us-ascii?Q?R1dw8Hb5C5dezo3qJlVv4BHy6KHTo/Thx0KbWFEtgZhHQ+GEaAiB1ftyiA75?= =?us-ascii?Q?E8N0rfVbrYifHH9Ph9tEtkSZ6JDCWNcFdbJ+8tJiBH1fACDRihDJSv5G5nkX?= =?us-ascii?Q?VzfTcvfl4TQvevlXySTGqE42JuK0yneXPczj4dO+YMiU5/jiqx2lzt4Dk5F/?= =?us-ascii?Q?nenUuR5U+7lHgp5OmEj2WCq1FLyEwdWBdrbvhTxO74HPmKz7WQU40z8MGrff?= =?us-ascii?Q?X+FotFpdid5+HqNeRONYfqczseNlCd1N5a+iF4nx2cEgKbemsNljjSYcNBMk?= =?us-ascii?Q?YvGz9Hv64qvhWWLOrQbNJvpOqba0dzOf?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?NK5yyUP3bUo6AU6LFi+zTtwqTfOQuU8X9+sTy8s0O3pbaUNThU1i7VDNSaZY?= =?us-ascii?Q?o4cQt5wpJWm7DvsEwFerPL8Hv51E5Er6s5mcm5LfeEoXFUJqSO94LVNhsgwR?= =?us-ascii?Q?kyj8dnXQKTwQiWD1l8/hP+YNUZL7qog0q/yxLDSd562hL8MacOKESm+8YLoV?= =?us-ascii?Q?Jpq624LmpGLH2sLvkiN4LPyWpvZC9adUoBOFOvMV1JyxHZY6eSZfF53cDIt3?= =?us-ascii?Q?809q+IQ33/nR4FQmhUfSG6EBBDtf8AbyACSrN7x4p5EaFMFjh08HWh2WOlfW?= =?us-ascii?Q?cXdCiPA75rusz9ML+fZrjlv5D1xP37fzMRqWPLUyTIaBkjUrcvI51ptT7YIr?= =?us-ascii?Q?ZL4WQhiCzDy3aGMLYvdVrmlCT2bPkJ2GJYdecuWrOIjnbDi5sUdg4bZ0pzlm?= =?us-ascii?Q?VcRdjEwoxsLPVqZKK8Hh8aodZtjSLjlSbFddTHl53q/is2TrOrXISrBtXven?= =?us-ascii?Q?WJJ1UJb37YyBX7tPilW+x2DGHihSMVT2lKrHP05QAoXZsImP4WZniCPvrmOa?= =?us-ascii?Q?GNXqMbyysDf+3FiFg8iDLUHtnYVFF40WUq0NGbDSAk0ON+xN9AWot2VccxEP?= =?us-ascii?Q?b5hrVtr4KjovBFf/HpY+OuuDaIYlYFmVsEWUPNXvnLBZuCbqUl5ZvDjRRPOH?= =?us-ascii?Q?vFC6+QNGUAbV0o6g0WKoZZzE7difov0dn35tooBvrbGYvMvWCV+FkEp6rcJo?= =?us-ascii?Q?CSdvPAGvZjzF8GYOwvREWRE6fWiG5jDArkfOdBqGKyLKV2rLfrAH9CV58j3j?= =?us-ascii?Q?vRZqHUWAycrEIqmGoMjjXvMOd8vd/rUqbZR0SdhiNbitzLpN96oXqeJmp9N8?= =?us-ascii?Q?hrYRypxeKFYpEWMvST4i9lf4S4E/Y+0JHfXIuOWhr5P7BwMtVC8B1xcxqNRO?= =?us-ascii?Q?25YI28uKY/hEp0bs9AJKJAHiXF2FPZpXnsVxq/lAwTsaaWBY8wArrhHU1wEk?= =?us-ascii?Q?2gZpqiLdECcwYcMFI72RYE0hMBLL/ia6z0qUVVX7U1Qy44ShtkcIIY0MWJNj?= =?us-ascii?Q?Rzjm6QFajEE/WaRPNrA8yk5k5QkjQmIKQnmbE0l6lNP4MTKJni8XR3dxtC4n?= =?us-ascii?Q?BLmkZaILlkeLrIvc2NvEM/q96tVzHitYK06oE9I2odgna7w2Z/bcELbigpim?= =?us-ascii?Q?EOUCJjct2/cpVCHyiMkdswIZcwKwg5XTw0w1P+mjP7KKFkI9qr40LFyIx91Y?= =?us-ascii?Q?q5Z1FI5mQbbwSYL9LNb64K0+cUWsDqQ1noUkhpHlQDspqax4sRVX2FPqZBoX?= =?us-ascii?Q?VoBPvjbI5ts0lYCBGjKSufjEOxMX5bHQGi0v6cYunbXz9e0C/vtMVAtWHAMS?= =?us-ascii?Q?PRPuvRlGUKhQ2rj8Kvw7KL6iA1rx7XOqFSp9y1R8ehkoL62DFH2vR53m1UxI?= =?us-ascii?Q?jnxErzoipkr0RPELIafNwhM3e2TcZVNY57Ui3hHpDEuHHFcdhEfdW4gdezub?= =?us-ascii?Q?CEnc0nd6FFCNzKxCms+MesKAs5/XJjrLcIj0UaCAg1sywbxjYtyqvjumcgmY?= =?us-ascii?Q?DBIF+uruKhpmlEG+gdq4/ejJ1ma+1nDnCnqZ7jjPt0dZWSFBDC8282nD7vx7?= =?us-ascii?Q?GhrYEUeevHllNMA6ndoFSz6QTWiFpyNX4lwPpkoG5haPMTeHWSrzFhlOtjxc?= =?us-ascii?Q?d2MXYbkZRJo+17H99xtdMjg=3D?= X-OriginatorOrg: valinux.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: c310ed52-bbe0-4679-7e79-08de3022b2fa X-MS-Exchange-CrossTenant-AuthSource: TYWP286MB2697.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2025 15:11:12.3576 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 7a57bee8-f73d-4c5f-a4f7-d72c91c8c111 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: w+dbbh4QTTJUFPSuwAjCqLCF8xXs+ZvUBYA8AJmWHmFs66OsQIkjmgsPP3HYczkwkhJE+sRdDJLWoxAUqHLH7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS9P286MB3865 Content-Type: text/plain; charset="utf-8" Currently ntb_dev is embedded in epf_ntb, while configfs allows starting or stopping controller and linking or unlinking functions as you want. In fact, re-linking and re-starting is not possible with the embedded design and leads to oopses. Allocate ntb_dev with devm and add a .remove callback to the pci driver that calls ntb_unregister_device(). This allows a fresh device to be created on the next .bind call. With these changes, the controller can now be stopped, a function unlinked, configfs settings updated, and the controller re-linked and restarted without rebooting the endpoint, as long as the underlying pci_epc_ops .stop() operation is non-destructive, and .start() can restore normal operations. Signed-off-by: Koichiro Den --- drivers/pci/endpoint/functions/pci-epf-vntb.c | 52 ++++++++++++++----- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/en= dpoint/functions/pci-epf-vntb.c index af0651c03b20..3059ed85a955 100644 --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c @@ -118,7 +118,7 @@ struct epf_ntb_ctrl { } __packed; =20 struct epf_ntb { - struct ntb_dev ntb; + struct ntb_dev *ntb; struct pci_epf *epf; struct config_group group; =20 @@ -144,10 +144,16 @@ struct epf_ntb { void __iomem *vpci_mw_addr[MAX_MW]; =20 struct delayed_work cmd_handler; + + struct pci_bus *vpci_bus; }; =20 #define to_epf_ntb(epf_group) container_of((epf_group), struct epf_ntb, gr= oup) -#define ntb_ndev(__ntb) container_of(__ntb, struct epf_ntb, ntb) + +static inline struct epf_ntb *ntb_ndev(struct ntb_dev *ntb) +{ + return (struct epf_ntb *)ntb->pdev->sysdata; +} =20 static struct pci_epf_header epf_ntb_header =3D { .vendorid =3D PCI_ANY_ID, @@ -173,7 +179,7 @@ static int epf_ntb_link_up(struct epf_ntb *ntb, bool li= nk_up) else ntb->reg->link_status &=3D ~LINK_STATUS_UP; =20 - ntb_link_event(&ntb->ntb); + ntb_link_event(ntb->ntb); return 0; } =20 @@ -261,7 +267,7 @@ static void epf_ntb_cmd_handler(struct work_struct *wor= k) for (i =3D 1; i < ntb->db_count; i++) { if (ntb->epf_db[i]) { ntb->db |=3D 1 << (i - 1); - ntb_db_event(&ntb->ntb, i); + ntb_db_event(ntb->ntb, i); ntb->epf_db[i] =3D 0; } } @@ -1097,7 +1103,6 @@ static int vpci_scan_bus(void *sysdata) { struct pci_bus *vpci_bus; struct epf_ntb *ndev =3D sysdata; - LIST_HEAD(resources); static struct resource busn_res =3D { .start =3D 0, @@ -1115,6 +1120,7 @@ static int vpci_scan_bus(void *sysdata) pr_err("create pci bus failed\n"); return -EINVAL; } + ndev->vpci_bus =3D vpci_bus; =20 pci_bus_add_devices(vpci_bus); =20 @@ -1159,7 +1165,7 @@ static int vntb_epf_mw_set_trans(struct ntb_dev *ndev= , int pidx, int idx, int ret; struct device *dev; =20 - dev =3D &ntb->ntb.dev; + dev =3D &ntb->ntb->dev; barno =3D ntb->epf_ntb_bar[BAR_MW1 + idx]; epf_bar =3D &ntb->epf->bar[barno]; epf_bar->phys_addr =3D addr; @@ -1259,7 +1265,7 @@ static int vntb_epf_peer_db_set(struct ntb_dev *ndev,= u64 db_bits) ret =3D pci_epc_raise_irq(ntb->epf->epc, func_no, vfunc_no, PCI_IRQ_MSI, interrupt_num + 1); if (ret) - dev_err(&ntb->ntb.dev, "Failed to raise IRQ\n"); + dev_err(&ntb->ntb->dev, "Failed to raise IRQ\n"); =20 return ret; } @@ -1346,9 +1352,12 @@ static int pci_vntb_probe(struct pci_dev *pdev, cons= t struct pci_device_id *id) struct epf_ntb *ndev =3D (struct epf_ntb *)pdev->sysdata; struct device *dev =3D &pdev->dev; =20 - ndev->ntb.pdev =3D pdev; - ndev->ntb.topo =3D NTB_TOPO_NONE; - ndev->ntb.ops =3D &vntb_epf_ops; + ndev->ntb =3D devm_kzalloc(dev, sizeof(*ndev->ntb), GFP_KERNEL); + if (!ndev->ntb) + return -ENOMEM; + ndev->ntb->pdev =3D pdev; + ndev->ntb->topo =3D NTB_TOPO_NONE; + ndev->ntb->ops =3D &vntb_epf_ops; =20 ret =3D dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32)); if (ret) { @@ -1356,7 +1365,7 @@ static int pci_vntb_probe(struct pci_dev *pdev, const= struct pci_device_id *id) return ret; } =20 - ret =3D ntb_register_device(&ndev->ntb); + ret =3D ntb_register_device(ndev->ntb); if (ret) { dev_err(dev, "Failed to register NTB device\n"); return ret; @@ -1366,6 +1375,17 @@ static int pci_vntb_probe(struct pci_dev *pdev, cons= t struct pci_device_id *id) return 0; } =20 +static void pci_vntb_remove(struct pci_dev *pdev) +{ + struct epf_ntb *ndev =3D (struct epf_ntb *)pdev->sysdata; + + if (!ndev || !ndev->ntb) + return; + + ntb_unregister_device(ndev->ntb); + ndev->ntb =3D NULL; +} + static struct pci_device_id pci_vntb_table[] =3D { { PCI_DEVICE(0xffff, 0xffff), @@ -1377,6 +1397,7 @@ static struct pci_driver vntb_pci_driver =3D { .name =3D "pci-vntb", .id_table =3D pci_vntb_table, .probe =3D pci_vntb_probe, + .remove =3D pci_vntb_remove, }; =20 /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D PCIe EPF Driver Bind =3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ @@ -1459,10 +1480,15 @@ static void epf_ntb_unbind(struct pci_epf *epf) { struct epf_ntb *ntb =3D epf_get_drvdata(epf); =20 + pci_unregister_driver(&vntb_pci_driver); + + pci_lock_rescan_remove(); + pci_stop_root_bus(ntb->vpci_bus); + pci_remove_root_bus(ntb->vpci_bus); + pci_unlock_rescan_remove(); + epf_ntb_epc_cleanup(ntb); epf_ntb_config_spad_bar_free(ntb); - - pci_unregister_driver(&vntb_pci_driver); } =20 // EPF driver probe --=20 2.48.1