{"id":2233124,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2233124/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260505173029.2718246-6-terry.bowman@amd.com/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/1.2/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":"<20260505173029.2718246-6-terry.bowman@amd.com>","list_archive_url":null,"date":"2026-05-05T17:30:23","name":"[v17,05/11] cxl: Limit CXL-CPER kfifo registration functions scope","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"81bf836d5a298f86136556566fbbb8ebc78451f3","submitter":{"id":82124,"url":"http://patchwork.ozlabs.org/api/1.2/people/82124/?format=json","name":"Bowman, Terry","email":"Terry.Bowman@amd.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260505173029.2718246-6-terry.bowman@amd.com/mbox/","series":[{"id":502875,"url":"http://patchwork.ozlabs.org/api/1.2/series/502875/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/list/?series=502875","date":"2026-05-05T17:30:19","name":"Enable CXL PCIe Port Protocol Error handling and logging","version":17,"mbox":"http://patchwork.ozlabs.org/series/502875/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2233124/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2233124/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-pci+bounces-53769-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 (1024-bit key;\n unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256\n header.s=selector1 header.b=QhvfOfqk;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-53769-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com\n header.b=\"QhvfOfqk\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.46.3","smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=amd.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=amd.com"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g95Dt5yBYz1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 03:32:30 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 81FE9304BCED\n\tfor <incoming@patchwork.ozlabs.org>; Tue,  5 May 2026 17:31:57 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 87DA43E6DF2;\n\tTue,  5 May 2026 17:31:56 +0000 (UTC)","from CO1PR03CU002.outbound.protection.outlook.com\n (mail-westus2azon11010003.outbound.protection.outlook.com [52.101.46.3])\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 E736639B974;\n\tTue,  5 May 2026 17:31:54 +0000 (UTC)","from DM6PR02CA0134.namprd02.prod.outlook.com (2603:10b6:5:1b4::36)\n by IA1PR12MB8405.namprd12.prod.outlook.com (2603:10b6:208:3d8::10) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Tue, 5 May\n 2026 17:31:45 +0000","from DM2PEPF00003FC8.namprd04.prod.outlook.com\n (2603:10b6:5:1b4:cafe::ac) by DM6PR02CA0134.outlook.office365.com\n (2603:10b6:5:1b4::36) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9870.25 via Frontend Transport; Tue,\n 5 May 2026 17:31:45 +0000","from satlexmb07.amd.com (165.204.84.17) by\n DM2PEPF00003FC8.mail.protection.outlook.com (10.167.23.26) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9891.9 via Frontend Transport; Tue, 5 May 2026 17:31:44 +0000","from ethanolx7ea3host.amd.com (10.180.168.240) by satlexmb07.amd.com\n (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 5 May\n 2026 12:31:43 -0500"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778002316; cv=fail;\n b=Y+mq/mtNaZjrIjfYN5BE1fjELMJhOFk/7vbpemesZxZNcfg51knYjYZCDYjqNac97JB2rhb6xq8oRAMqCPAbQddjp3CTJyGtzFJVSM4LxSHfSkuqRc+JH1Z9u+Ld+TpeJJFbztiP9252HahOKCvOtan/i91FtKM89MfCLHrWnL8=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=tPhEk0I4gyYiW/LgVJMq66lhZRwAo1mS3kKoyoSj8JLZTafZ3macIJcY3gaC7HYEY/a8QF/iAlbUpLxih+1wi9LMuFxHatvReDtUcPIyuHZ6PqK1Nx53PPM27wSTg/58i33Qex1S+lKnhjXe3CyTNh3A6/nEDgEoKl8dTlzadn2KXJFxiKHkC5YIQDk1umNe/tKhamvROb0Gk/Tiu6IoUvl1dCZDtqn08LectjVkiTVmUfaN1Ail3LbDdegREKrQ/BXm1P1ivquI7PbQ1BhHoPhhzpHJH2/sTRT9gnccA5n8TRL1wjrT2G+tOXVfOOf/gCgStdvX+82t0KkyML5HKw=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778002316; c=relaxed/simple;\n\tbh=Ds8npAzcar3Zthao/TznG16aKCxu94r3PlpaCA6IdEE=;\n\th=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=uOz498vNINBxKNlNLZAdl1uldM8kmdJo3iO6V27tXWkJEEZpJSkxWr55VJ/BK5CR1U1MUJfgeNv8/8jFd+1fhd5FzGRXDYkxF9TglP7/5gDhzPihtMytHbNf/bumEqX5MfkH2a2R7fR7HUwuDNb3W9pkfpVqtoStNv54eGnoEdY=","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=Ce6d5W0LDGWdYjVJoI2UFND7KzvAlS2yojimPS77/yI=;\n b=mvgQ+lCPU1Nt05Sjv2rw5zWa2oVfZW6lW+u3vevjqVoxjsYftp1HwhkLERZTgg8yDjADkbWDDPNQ5j+D9Zso3wBi70r/w7DN3s3oqHvYtYpkxAJxnrhml7F2RnjnQL6XxPUjC2rJdTIXwhCxAkUbfRdSH7R8bekZuCasmZVO3Ul5UNMMZhV6/AMOucYpg2rbAVxYhMx9fqTO9C2blxJHv/0K9rNo2pmau9lCpS8Psj7wLQ4u4+jebBNdXqC6ZmCvfPu0FrdmDCBt35oGUk+pozY5TWVvk/tbp4Lvqq4LfOjy9s2SJTQ012PGmSS4ZnH+CQyms3x6atR1aUvfUlDR+Q=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=amd.com;\n spf=fail smtp.mailfrom=amd.com;\n dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com\n header.b=QhvfOfqk; arc=fail smtp.client-ip=52.101.46.3","i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 165.204.84.17) smtp.rcpttodomain=stgolabs.net smtp.mailfrom=amd.com;\n dmarc=pass (p=quarantine sp=quarantine pct=100) action=none\n header.from=amd.com; dkim=none (message not signed); arc=none (0)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=Ce6d5W0LDGWdYjVJoI2UFND7KzvAlS2yojimPS77/yI=;\n b=QhvfOfqk74POlWC6DLhUrwrrUjW8AkAn0bfSBBO0FyySmMLiZRsjd0IMwJWtS2Bl9uX2Dw3wntMDy2Anvr0Ftt4I6dz1Lgf2tedcabX//6q3BIx2gg1+aL4W46IIKagcPL6Np8Qt5Gq+ntHQUYYtYr3BWiszZuLETaVmqCa1iVo=","X-MS-Exchange-Authentication-Results":"spf=pass (sender IP is 165.204.84.17)\n smtp.mailfrom=amd.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=amd.com;","Received-SPF":"Pass (protection.outlook.com: domain of amd.com designates\n 165.204.84.17 as permitted sender) receiver=protection.outlook.com;\n client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C","From":"Terry Bowman <terry.bowman@amd.com>","To":"<dave@stgolabs.net>, <jic23@kernel.org>, <dave.jiang@intel.com>,\n\t<alison.schofield@intel.com>, <djbw@kernel.org>, <bhelgaas@google.com>,\n\t<shiju.jose@huawei.com>, <ming.li@zohomail.com>,\n\t<Smita.KoralahalliChannabasappa@amd.com>, <rrichter@amd.com>,\n\t<dan.carpenter@linaro.org>, <PradeepVineshReddy.Kodamati@amd.com>,\n\t<lukas@wunner.de>, <Benjamin.Cheatham@amd.com>,\n\t<sathyanarayanan.kuppuswamy@linux.intel.com>, <vishal.l.verma@intel.com>,\n\t<alucerop@amd.com>, <ira.weiny@intel.com>, <corbet@lwn.net>,\n\t<rafael@kernel.org>, <xueshuai@linux.alibaba.com>,\n\t<linux-cxl@vger.kernel.org>","CC":"<linux-kernel@vger.kernel.org>, <linux-pci@vger.kernel.org>,\n\t<linux-acpi@vger.kernel.org>, <linux-doc@vger.kernel.org>,\n\t<terry.bowman@amd.com>","Subject":"[PATCH v17 05/11] cxl: Limit CXL-CPER kfifo registration functions\n scope","Date":"Tue, 5 May 2026 12:30:23 -0500","Message-ID":"<20260505173029.2718246-6-terry.bowman@amd.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260505173029.2718246-1-terry.bowman@amd.com>","References":"<20260505173029.2718246-1-terry.bowman@amd.com>","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","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain","X-ClientProxiedBy":"satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com\n (10.181.42.216)","X-EOPAttributedMessage":"0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"DM2PEPF00003FC8:EE_|IA1PR12MB8405:EE_","X-MS-Office365-Filtering-Correlation-Id":"8483fcc4-f35c-4a5f-4b29-08deaacc2db6","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|1800799024|376014|82310400026|7416014|36860700016|921020|56012099003|22082099003|18002099003;","X-Microsoft-Antispam-Message-Info":"\n\t7gmflXg4nqnhhkNSOiuXSkQ6oiIg29O/Hy9zoV/rxicFwEWICtRQHYEvHE77gRo4DICEjZaACwBcI7qo0HZ2r+frSDxr7cFhej/zpbivPm8fGv/yKGm/5t9oGmQjBoIINn4bBk0jmn7k9dXVQ/gTbYv4wOH10dtauPMUiPDg+I85hjjDOC2xfumIN61jIHbqSar2SWJbz3nDEAEbPcCSEmyJAEmU3Y4TINP2ziGi1RCsCP8UXRxaCuut7pvQfpUel6/4qZQlmE25f4cxmjEaGRlIdE9aTtbm0Ah5p/TysjjJzTOv1ydkffR/MH1WcVl3J89n405k2LbEd4O+NBVhgSDN0jI7B0n+QgQd4+4OeR5f+Isl/+Sg+06k/dQzzLfREo9jBM7Tg9L/LtE4FGx5mr8qPx/oV0jKEmtRUOCySl/9gY/DPbG1WaTfiM0+hWMMCuWkV61iwAsEuL14CkOhh70aqqRYL6n6P7gV12Yuxmz/WkUGAHUnZ9LT1dzRXMmxpUnklXKYtcblI5hI2rS6Ic201kMua7TuJDoKmXIAufzCG8YNRU6YDk6gRUPkQTI+BCkz0JON0nKmvM83bhgTWOe0MNplL7072DdbxPDAPMmY864Rb7d0Gcof/3VKVrHWJViimDh0mLu5i9lyrfAW52UpxUI07QtIU9HDZEo+UTEmD6ijjQa/XfQpT06wCWywhrwUm4nldjggpvfouYhw7fBwAvw0HjadrIbHBCP1mQkJGAnWd0VCri2gO4q8Y+Hgh44GoZOD9JxpjOOJivieiA==","X-Forefront-Antispam-Report":"\n\tCIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(7416014)(36860700016)(921020)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n\tJ6K12YN6jQzE5WGKCW+i27X9iVhEhY2eISEqfbAr5jXy8ogRUATZHN8fx+VqPelPIhV1z8SW1PDMgZSo+m7XqWZuFts+WnpNfeRqee495/oEv0le64NNR9FO2eccOKg3Gv3sUTZVJ1Ah8J75f8EcsBY2O8gO/DK4wLzYa/VQFpkl7FpWkuXL/3AU7IQ63+CvvWAri+/qVbsi2kCmjeBp5pzYgdaIwRWfGgxFvvXFKWgPaNpUQ/tawXXLlIT2SmB+JyTCDto5jKpVg8ikk2CiIIfdg4b3kexoMhDcd7F+r3PJ+w1Fu+5DuvCwH2inQkYy+OFpfKk6PerJqDIiqgcAmzE5/N3C2SUSKDwNtPYI3z48IyMbAnc+PlykzxQTe0iYUkYFNeBtSa2rb0wZk/6DFY2JJRTaot0UHEL7fyWRdYUM2hnugzbpwyo5SQ12Yx0s","X-OriginatorOrg":"amd.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"05 May 2026 17:31:44.9220\n (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 8483fcc4-f35c-4a5f-4b29-08deaacc2db6","X-MS-Exchange-CrossTenant-Id":"3dd8961f-e488-4e60-8e11-a82d994e183d","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]","X-MS-Exchange-CrossTenant-AuthSource":"\n\tDM2PEPF00003FC8.namprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"IA1PR12MB8405"},"content":"From: Dan Williams <djbw@kernel.org>\n\nSome CPER functions used by CXL drivers are exported using the\nEXPORT_SYMBOL_NS_GPL(fn, ns) macro. This doesn't provide compile time\nenforcement or visibility of the consumers.\n\nThis can be improved by using EXPORT_SYMBOL_FOR_MODULES() instead.\nEXPORT_SYMBOL_FOR_MODULES() explicitly names the modules that can access\nthe function. This provides more precise control and visibility of symbol\nexposure than the namespace macro. It also provides compile time checking.\n\nTo improve control and clarity, update cxl_cper_register_prot_err_work(),\ncxl_cper_unregister_prot_err_work(), and cxl_cper_prot_err_kfifo_get()\nto use EXPORT_SYMBOL_FOR_MODULES(). Also, update the register and unregister\nfunctions to return void type.\n\nUpdate the CPER kfifo unregister to cancel work while using\nsynchronization.\n\nCo-developed-by: Terry Bowman <terry.bowman@amd.com>\nSigned-off-by: Terry Bowman <terry.bowman@amd.com>\nSigned-off-by: Dan Williams <djbw@kernel.org>\n\n---\n\nChanges in v16->v17:\n- Split from v16 02/10 (\"Update unregistration for AER-CXL and\n  CPER-CXL kfifos\"); AER-CXL half folded into v17 01/10.\n- Convert exports to EXPORT_SYMBOL_FOR_MODULES(\"cxl_core\").\n- Change register/unregister return type from int to void.\n- Drop work_struct argument from cxl_cper_unregister_prot_err_work();\n  it now cancels its own work.\n- Remove now-redundant cancel_work_sync() from cxl_ras_exit().\n- Add WARN_ONCE() in cxl_cper_register_prot_err_work() for\n  double-registration.\n---\n drivers/acpi/apei/ghes.c | 27 ++++++++++++++-------------\n drivers/cxl/core/ras.c   |  6 +++---\n include/cxl/event.h      | 10 ++++------\n 3 files changed, 21 insertions(+), 22 deletions(-)","diff":"diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c\nindex 3236a3ce79d6..dd0a073af93c 100644\n--- a/drivers/acpi/apei/ghes.c\n+++ b/drivers/acpi/apei/ghes.c\n@@ -778,33 +778,34 @@ static void cxl_cper_post_prot_err(struct cxl_cper_sec_prot_err *prot_err,\n #endif\n }\n \n-int cxl_cper_register_prot_err_work(struct work_struct *work)\n+void cxl_cper_register_prot_err_work(struct work_struct *work)\n {\n-\tif (cxl_cper_prot_err_work)\n-\t\treturn -EINVAL;\n-\n \tguard(spinlock)(&cxl_cper_prot_err_work_lock);\n+\tWARN_ONCE(cxl_cper_prot_err_work,\n+\t\t  \"CPER-CXL kfifo consumer already registered\\n\");\n \tcxl_cper_prot_err_work = work;\n-\treturn 0;\n }\n-EXPORT_SYMBOL_NS_GPL(cxl_cper_register_prot_err_work, \"CXL\");\n+EXPORT_SYMBOL_FOR_MODULES(cxl_cper_register_prot_err_work, \"cxl_core\");\n \n-int cxl_cper_unregister_prot_err_work(struct work_struct *work)\n+void cxl_cper_unregister_prot_err_work(void)\n {\n-\tif (cxl_cper_prot_err_work != work)\n-\t\treturn -EINVAL;\n+\tstruct work_struct *work;\n \n-\tguard(spinlock)(&cxl_cper_prot_err_work_lock);\n+\tspin_lock(&cxl_cper_prot_err_work_lock);\n+\twork = cxl_cper_prot_err_work;\n \tcxl_cper_prot_err_work = NULL;\n-\treturn 0;\n+\tspin_unlock(&cxl_cper_prot_err_work_lock);\n+\n+\tif (work)\n+\t\tcancel_work_sync(work);\n }\n-EXPORT_SYMBOL_NS_GPL(cxl_cper_unregister_prot_err_work, \"CXL\");\n+EXPORT_SYMBOL_FOR_MODULES(cxl_cper_unregister_prot_err_work, \"cxl_core\");\n \n int cxl_cper_prot_err_kfifo_get(struct cxl_cper_prot_err_work_data *wd)\n {\n \treturn kfifo_get(&cxl_cper_prot_err_fifo, wd);\n }\n-EXPORT_SYMBOL_NS_GPL(cxl_cper_prot_err_kfifo_get, \"CXL\");\n+EXPORT_SYMBOL_FOR_MODULES(cxl_cper_prot_err_kfifo_get, \"cxl_core\");\n \n /* Room for 8 entries for each of the 4 event log queues */\n #define CXL_CPER_FIFO_DEPTH 32\ndiff --git a/drivers/cxl/core/ras.c b/drivers/cxl/core/ras.c\nindex 56611da8357a..9193dac4e507 100644\n--- a/drivers/cxl/core/ras.c\n+++ b/drivers/cxl/core/ras.c\n@@ -68,13 +68,13 @@ static DECLARE_WORK(cxl_cper_prot_err_work, cxl_cper_prot_err_work_fn);\n \n int cxl_ras_init(void)\n {\n-\treturn cxl_cper_register_prot_err_work(&cxl_cper_prot_err_work);\n+\tcxl_cper_register_prot_err_work(&cxl_cper_prot_err_work);\n+\treturn 0;\n }\n \n void cxl_ras_exit(void)\n {\n-\tcxl_cper_unregister_prot_err_work(&cxl_cper_prot_err_work);\n-\tcancel_work_sync(&cxl_cper_prot_err_work);\n+\tcxl_cper_unregister_prot_err_work();\n }\n \n static void cxl_dport_map_ras(struct cxl_dport *dport)\ndiff --git a/include/cxl/event.h b/include/cxl/event.h\nindex ff97fea718d2..51acedb0d683 100644\n--- a/include/cxl/event.h\n+++ b/include/cxl/event.h\n@@ -289,8 +289,8 @@ struct cxl_cper_prot_err_work_data {\n int cxl_cper_register_work(struct work_struct *work);\n int cxl_cper_unregister_work(struct work_struct *work);\n int cxl_cper_kfifo_get(struct cxl_cper_work_data *wd);\n-int cxl_cper_register_prot_err_work(struct work_struct *work);\n-int cxl_cper_unregister_prot_err_work(struct work_struct *work);\n+void cxl_cper_register_prot_err_work(struct work_struct *work);\n+void cxl_cper_unregister_prot_err_work(void);\n int cxl_cper_prot_err_kfifo_get(struct cxl_cper_prot_err_work_data *wd);\n #else\n static inline int cxl_cper_register_work(struct work_struct *work)\n@@ -306,13 +306,11 @@ static inline int cxl_cper_kfifo_get(struct cxl_cper_work_data *wd)\n {\n \treturn 0;\n }\n-static inline int cxl_cper_register_prot_err_work(struct work_struct *work)\n+static inline void cxl_cper_register_prot_err_work(struct work_struct *work)\n {\n-\treturn 0;\n }\n-static inline int cxl_cper_unregister_prot_err_work(struct work_struct *work)\n+static inline void cxl_cper_unregister_prot_err_work(void)\n {\n-\treturn 0;\n }\n static inline int cxl_cper_prot_err_kfifo_get(struct cxl_cper_prot_err_work_data *wd)\n {\n","prefixes":["v17","05/11"]}