[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251218082903.551296-1-lihaoxiang@isrc.iscas.ac.cn>
Date: Thu, 18 Dec 2025 16:29:03 +0800
From: Haoxiang Li <lihaoxiang@...c.iscas.ac.cn>
To: rafael@...nel.org,
lenb@...nel.org
Cc: linux-acpi@...r.kernel.org,
linux-kernel@...r.kernel.org,
Haoxiang Li <lihaoxiang@...c.iscas.ac.cn>,
stable@...r.kernel.org
Subject: [PATCH] PNP: add a error handling in pnpacpi_init()
Add a error handling for pnp_register_protocol(), and if
it fails, call put_device() to drop the device reference.
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable@...r.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@...c.iscas.ac.cn>
---
drivers/pnp/pnpacpi/core.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c
index a0927081a003..0b63e1748b7c 100644
--- a/drivers/pnp/pnpacpi/core.c
+++ b/drivers/pnp/pnpacpi/core.c
@@ -304,7 +304,10 @@ static int __init pnpacpi_init(void)
return 0;
}
printk(KERN_INFO "pnp: PnP ACPI init\n");
- pnp_register_protocol(&pnpacpi_protocol);
+ if (pnp_register_protocol(&pnpacpi_protocol)) {
+ put_device(&pnpacpi_protocol.dev);
+ return 0;
+ }
acpi_get_devices(NULL, pnpacpi_add_device_handler, NULL, NULL);
printk(KERN_INFO "pnp: PnP ACPI: found %d devices\n", num);
pnp_platform_devices = 1;
--
2.25.1
Powered by blists - more mailing lists