{"id":2225515,"url":"http://patchwork.ozlabs.org/api/patches/2225515/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260421-nova-unload-v2-1-2fe54963af8b@nvidia.com/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/projects/28/?format=json","name":"Linux PCI development","link_name":"linux-pci","list_id":"linux-pci.vger.kernel.org","list_email":"linux-pci@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260421-nova-unload-v2-1-2fe54963af8b@nvidia.com>","list_archive_url":null,"date":"2026-04-21T06:16:11","name":"[v2,1/5] rust: add warn_on_err macro","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"3818c5546f924994337608dae2ac596ca4894ea8","submitter":{"id":13521,"url":"http://patchwork.ozlabs.org/api/people/13521/?format=json","name":"Alexandre Courbot","email":"acourbot@nvidia.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260421-nova-unload-v2-1-2fe54963af8b@nvidia.com/mbox/","series":[{"id":500739,"url":"http://patchwork.ozlabs.org/api/series/500739/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/list/?series=500739","date":"2026-04-21T06:16:10","name":"gpu: nova-core: run unload sequence upon unbinding","version":2,"mbox":"http://patchwork.ozlabs.org/series/500739/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2225515/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2225515/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-pci+bounces-52812-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=SuSTY2Sa;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-52812-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"SuSTY2Sa\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.61.20","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nvidia.com;"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0BzG0HJcz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 16:19:54 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 38CC1303FAFA\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 06:16:26 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id ECC4E383C69;\n\tTue, 21 Apr 2026 06:16:25 +0000 (UTC)","from DM1PR04CU001.outbound.protection.outlook.com\n (mail-centralusazon11010020.outbound.protection.outlook.com [52.101.61.20])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 4086337F748;\n\tTue, 21 Apr 2026 06:16:24 +0000 (UTC)","from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18)\n by CYYPR12MB8749.namprd12.prod.outlook.com (2603:10b6:930:c6::12) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.15; Tue, 21 Apr\n 2026 06:16:21 +0000","from CH2PR12MB3990.namprd12.prod.outlook.com\n ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com\n ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9846.016; Tue, 21 Apr 2026\n 06:16:20 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776752185; cv=fail;\n b=m0Ab+AzJ5qlpc0A2DP3OGVl9EhFyrDkb7E7Ybe4svLzK5YemhnRk61pP6jYejQbJw5h4Z+S+SFxK9v3sha73kbStuv92SevxERpszK7HfvUSsPk7iu9Mw9ZKLyy20oy7RXWf57NCMmglMZDikG2VpOhsJSH4FWjSvj6p4aB1djc=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=vRS2Nbyfd49WYJEXDJ7GOwFK4Gt2R7qu5RYZvFeXGcwpx/PV32706lK8N9xT6ShQTh0jpYuv3cwi71fKTGbH+Y0Im5lytc+T1OXk4OL8b4r8QG90iYCaYUIk24rFn841VlAaPnS1oYZzozx8JIg1TloQvN+nLL3FA7Mibl1XC8irI8nRnzNVXGKDD5+PmmvtmND3zglVLoakmU5z/0uQT77rBAuncocB5fKuxhz21YDV+t0rAac6Eon9u4+n1ucvFGpk8TPDqxzJWudSPrZ988nDdIeScJtnkxTz+ZvzzntDm3cDV11EnG9lH+0N5kkBNPKAoJFIrcWFOGn2PvElzg=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776752185; c=relaxed/simple;\n\tbh=GHK4iM5gBBaTAl2rUeKtQ0IC2WT33bAe1W8rTTN9zcM=;\n\th=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To:\n\t To:Cc:MIME-Version;\n b=m7aoyCj866lm5pbmCGljSIGteLuiX4Yy7i5tWJbuJogAYtyDqJm8KCpvzipCytffAAOD4Bt0yqu9UoCoSNiJxJx/KfsdH0jzXgkIfMOU5dBbGYjml+HNpT2JlMnAbNzIgDpkEmvhqKgs7G/XlQ8FmrVayvBpUq1a1hhchDmIRxw=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=zgShyfgo098bQ9tJx/o2dExcu4BIrahVGCdHSGqskEw=;\n b=tkXNnfmd7Ke3+WYcKEievKHgGgzlWtHs8+OZCNK4XN+80hqoTDNkTGin5h5cnqkKI7u+yawGtqCRQXxUp6ZBce9Aiw6ZYJL4WHODa/BvdCMCmIUZrKtswCgkp3mTKBTnYhTDHJPZXTtmEvMLoaD0ubd2wd/MVRsEz5w+aswN86NPixqbfardF5NkKJW7Ufb+5lKn4Bgv6Kym0bpNTksgo9aDzWK3zzlLUrJWr8kOPmsN0rmTGAQVx82+3UgODg8VX9m0OQ9M5peAdLlDDpU9x+801+MhlZJDPuzgLoKH2vqrBNgHerPxXlWYQEhYp4t5U0xClWAy6Uwjcz7OtDIocg=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=SuSTY2Sa; arc=fail smtp.client-ip=52.101.61.20","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;\n dkim=pass header.d=nvidia.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=zgShyfgo098bQ9tJx/o2dExcu4BIrahVGCdHSGqskEw=;\n b=SuSTY2SalNLoelAoKfTtkIAz9KxMQVMeQrAl3LqMJziuqX5J9W2ddOucNM+gKH9THgvK/JbQoBNKzB+KtOb5K2OrbXtvyDITJpFbjeQIZDeac7Orj5CDmDQYAGVWOukFtT5eRr8fHOwPL6/cJ/wKmBl+cy5VCqatXWRQWkrR3WnpVafZXfOaiB1tDdTjmTaBMF32sg7j+8ZebSYJyHEzMYydCvaixZoz9h34qLdw7x1qjQFVNe8PLSRrwDisuyKTo96kgYKpjFbu5ZPzToULCysWLK4L9Lw5d1N3P3kZbQ88Ylfs7GMFZUlpf9hegxDhgF/zLRCNzR9juuwyTX5HNw==","From":"Alexandre Courbot <acourbot@nvidia.com>","Date":"Tue, 21 Apr 2026 15:16:11 +0900","Subject":"[PATCH v2 1/5] rust: add warn_on_err macro","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20260421-nova-unload-v2-1-2fe54963af8b@nvidia.com>","References":"<20260421-nova-unload-v2-0-2fe54963af8b@nvidia.com>","In-Reply-To":"<20260421-nova-unload-v2-0-2fe54963af8b@nvidia.com>","To":"Danilo Krummrich <dakr@kernel.org>, Alice Ryhl <aliceryhl@google.com>,\n  David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,\n  Bjorn Helgaas <bhelgaas@google.com>,\n =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= <kwilczynski@kernel.org>,\n  Miguel Ojeda <ojeda@kernel.org>, Gary Guo <gary@garyguo.net>, =?utf-8?q?Bj?=\n\t=?utf-8?q?=C3=B6rn_Roy_Baron?= <bjorn3_gh@protonmail.com>,\n  Benno Lossin <lossin@kernel.org>, Andreas Hindborg <a.hindborg@kernel.org>,\n  Trevor Gross <tmgross@umich.edu>, Boqun Feng <boqun@kernel.org>","Cc":"John Hubbard <jhubbard@nvidia.com>,\n Alistair Popple <apopple@nvidia.com>,\n Joel Fernandes <joelagnelf@nvidia.com>, Timur Tabi <ttabi@nvidia.com>,\n Eliot Courtney <ecourtney@nvidia.com>, nouveau@lists.freedesktop.org,\n dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,\n linux-pci@vger.kernel.org, rust-for-linux@vger.kernel.org,\n Alexandre Courbot <acourbot@nvidia.com>","X-Mailer":"b4 0.15.2","X-ClientProxiedBy":"OS0P286CA0006.JPNP286.PROD.OUTLOOK.COM\n (2603:1096:604:9c::11) To CH2PR12MB3990.namprd12.prod.outlook.com\n (2603:10b6:610:28::18)","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"CH2PR12MB3990:EE_|CYYPR12MB8749:EE_","X-MS-Office365-Filtering-Correlation-Id":"0707a325-d58b-43d6-0828-08de9f6d8154","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|376014|7416014|1800799024|10070799003|366016|921020|56012099003|18002099003|22082099003;","X-Microsoft-Antispam-Message-Info":"\n\tj+Tqi1nS04ICHlrbOyPkFjucASMNr8rG8y5p+FnrzlfLL9+GhKidYsbAE/6LOsDzf2rHZvdWEhvm7Uyyt4mlhtS0nI06TXVlPWkBQx9q9I3f42uOvE9YeKsmKiKjmFDl912LJZZKHzd8kr42By3BMzIzPTzDl5VNbqJ1zLnmrCpSyXhC98ky1igWvmKZVHxEW9HvYXpcfyG/OMDhOSM9MQv/hC0pVAyoG5Mrx0liriTFa/bgSh/zhm5RVtT+3wxSQjpguocYV/BNqjSFeMIttRq8n3TRWPI33I5glaukY9t+eJhMDLC3sqDJKZaIn3iWgclQ79cVQFPwZSAtevkkI0Hdwwo5NHFx0iflcWdjWfR2KWMx+zYIu5Metjc/NM/T7XXfi1CHv1/vPE547rjc9qPwKUqpuJFXuBep2yhGibNFgj/kH4U///PPyI2xpD9YRm/LaSqUfsIloH1/LtUNSkQ+Gs74RHQ9+LyRBSu1joZvtAQ43IUzweqAcrvqBBZiDMeafbRevHE+KL/NPLMdk2TYu/2mOM2P6GNvS/GfdQmAGoG0gK9LTQhLsO0jy067GkOA4yJMmrYWzs3AkewlxtN8c1wtgZ3kKrDuTR7FnEAv6jkKfJvnCXgIN12CX7b3dl68e+4UeW2uRUAjruoL/VipgQ0nDTpazu6sEST0pijhmk4c657fSZwJ09EFzF98ipNk4PXsoipBPlXOnzD6vBgn5FtHQdTI3dtZP12QjweoHe4ecdOpW9CncJa/i2M9r74NYg9EUHOmeyf3Cor6Ig==","X-Forefront-Antispam-Report":"\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(10070799003)(366016)(921020)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"2","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?7wK1mbl0tMlO0Hkzt2O+t/kaWams?=\n\t=?utf-8?q?00R6LPJWFC855DRUAMFJ5YI2a4TMyKL2VFo5Msav83hRp626iOv6iL/BZgk3XWZQR?=\n\t=?utf-8?q?pr7BlBKkPSxlQzncSk+il5Pwp8tPM+s7APH2Nyvo9Khvyojd2Bp9ue2CwVMQmN2Av?=\n\t=?utf-8?q?27QHCwkhvAmH+NBOHvS4TQlvizytDIzzOdKM9V7d+9oJt6P1turv5lVd9TQGAib4D?=\n\t=?utf-8?q?MavZidJUoM8RUvI94idt/TeJRL25HS0LPt5UzSjo4CzL3YVXTlTc4WelVCIIr8RG+?=\n\t=?utf-8?q?MIsl7FRVDzIL0Hr4t1cS2Uf69YgQYWhNlYvlRi4+vC3IvxhIpAGjVvZlRIXI4Z375?=\n\t=?utf-8?q?Qb9tTkaW6GoP4/cvUbik5eWh1RmSOaOCtkXc0a33HZiDwbZoD61+6wgm/Y+j1dWF0?=\n\t=?utf-8?q?Oy6leX7XrhRj8zViF3edXooVDgGLJ7vg+gqaVj+TPBevG1iudAq3tFLJKfuqW55bp?=\n\t=?utf-8?q?+LTDstb5UZ+Wt0fK+17YF9JjjcHdF8zBr6zjRwFvneHHsqrzzvL2ypXKiiz06RCjL?=\n\t=?utf-8?q?+vDbO70TfELHbjYUwFFKlcZhT0spulwyVpuwGMChOLwQsMoBHx7Wi5+zaHDShO6ao?=\n\t=?utf-8?q?8eKxsmkE46uWOAROZG25HEBLWsiRLfPAJpBRQPd5fXotZVFNHqi15ZcHd5d6lMntX?=\n\t=?utf-8?q?4LY0Zyi3eUuXznr+ZlYIRAd4LhQs/r1gGdDZvy9Y4mzirGBkskT2b1/sOvwL5V110?=\n\t=?utf-8?q?u4DDE3hCSyuqJdzJuCeUfLYXERNOPxkHCnKU5PRlD34H0LtlQdOVRDfGPu2Fc/VxL?=\n\t=?utf-8?q?DffW8c9Xxjgcb7UTN/Jc9SHRDm3Jyia2uPNtaNq1ZdzqlttHRpiNyNo9fVSD+Zv1j?=\n\t=?utf-8?q?kDKFxZKRBWbV3J/fXK9H9BXZsgl32Uf9CwbrGTU1yabA7aZDCWyunSx2CyPc+UAHH?=\n\t=?utf-8?q?W5r4Ozzt65L009IOFscGSqHcjhwr4z+LEUA+2wi3S49mj45GG1ecTa01SXl5Fv1YH?=\n\t=?utf-8?q?8PxNe1mTadm8sY51pPlovxUPWbddILEH/l5l8zFkjrNEmDJ8ECWc5S1SE9QlYu9XB?=\n\t=?utf-8?q?Olk5pKRWXdeYEwLGR69iAIdly9Tb4jDcV9XTG4XF+fQ3O3WRvkhWtphKANlWq616F?=\n\t=?utf-8?q?vVr/qdXhuBcMBoUktmKLNNP+HFeJMcrzAaSHl2TVxFJQHV0r8r6bL2m3y1UsgkPsO?=\n\t=?utf-8?q?/r3bpNcExtlDRZ7zkMW/oBowFMh0Yd9xAzTAL43NhBoGSUEMMs6d3b6FNQdCkPBqZ?=\n\t=?utf-8?q?UHdZ76kY1REoQKVJvhh5z6l1TenIEsxbmm6vvSal6xA1OabI0kdAB67APzsTouO0+?=\n\t=?utf-8?q?mrbGpNPi5rcAAu0VSMkCcbjyoeMfiMWlo0YGK6p55LHHmxf2kQS5TAWNoPmqy1Htc?=\n\t=?utf-8?q?jblHXC1000X07as5MCuHimMYU3wzhQXMaldtfHk/c3iWCyDgahUgGQbS4HFn/TUGZ?=\n\t=?utf-8?q?G5Epg4fGSvloA2H3LRu0Zto8KvjXiVOYZq2y9GjTVuHpNCHhp/cYMA9j4m5WvPm3i?=\n\t=?utf-8?q?4jijsRxjcLzT94myl6ATqMirfcWrf6GZSde8U/CM8iELkpqk+MFK3wL/zauH4OYFy?=\n\t=?utf-8?q?r86Ml8/T0Nkzu/6bijUFTiYHMZkX5gx4vjvxW2BIMK/5hmVD/vF81OazRJd/mnId0?=\n\t=?utf-8?q?3SnxLq//zl5Q7mOOh9UTMFheTWE2EETi7A95LbmBY2UJ3xOIj4ehGGlbVzVKg5OYt?=\n\t=?utf-8?q?GY79+exP31qvhJF9Hj06Zu0aY+DNgLKkjpCzK/cn0d+f3md3VkAZdwvDUbVtX+wHu?=\n\t=?utf-8?q?Aqv6EfaYV/Q/IA4qF?=","X-MS-Exchange-AntiSpam-MessageData-1":"XLCllXvPLkDfTA==","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 0707a325-d58b-43d6-0828-08de9f6d8154","X-MS-Exchange-CrossTenant-AuthSource":"CH2PR12MB3990.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"21 Apr 2026 06:16:20.5586\n (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"43083d15-7273-40c1-b7db-39efd9ccc17a","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n V/ovRUOfImGV6EeFB5/eGnwdYvD5ZJJpKnNKUaRvITy13IjK5QZg1uyTUgMobGmmhfITkc4lacbVu5IzZ0u2kg==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"CYYPR12MB8749"},"content":"While we already have the `warn_on` macro, a common usage pattern in\nRust is to check whether a `Result` is an error. Add a helper macro that\nallows this.\n\nSigned-off-by: Alexandre Courbot <acourbot@nvidia.com>\n---\n rust/kernel/bug.rs | 10 ++++++++++\n 1 file changed, 10 insertions(+)","diff":"diff --git a/rust/kernel/bug.rs b/rust/kernel/bug.rs\nindex ed943960f851..2fefc0aeef81 100644\n--- a/rust/kernel/bug.rs\n+++ b/rust/kernel/bug.rs\n@@ -130,3 +130,13 @@ macro_rules! warn_on {\n         cond\n     }};\n }\n+\n+/// Report a warning if `res` is an error and return it unmodified.\n+#[macro_export]\n+macro_rules! warn_on_err {\n+    ($res:expr) => {{\n+        let res = $res;\n+        let _ = $crate::warn_on!(res.is_err());\n+        res\n+    }};\n+}\n","prefixes":["v2","1/5"]}