]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Input: synaptics-rmi4 - unregister function handlers on physical driver registration...
authorHaoxiang Li <haoxiang_li2024@163.com>
Wed, 10 Jun 2026 23:41:16 +0000 (16:41 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 10 Jun 2026 23:42:09 +0000 (16:42 -0700)
If rmi_register_physical_driver() fails, the current error path
unregisters only the RMI bus. The function handlers registered
earlier remain registered with the driver core.

Add a separate error path to unregister the function handlers
before unregistering the bus in this failure case.

Fixes: 2b6a321da9a2 ("Input: synaptics-rmi4 - add support for Synaptics RMI4 devices")
Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260610064633.2837084-1-haoxiang_li2024@163.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/rmi4/rmi_bus.c

index 687cb987bc1373300f1361442d5f5cf157fa9305..ade57e2a7201454f814c72f861b60b0c46ac79f1 100644 (file)
@@ -455,11 +455,13 @@ static int __init rmi_bus_init(void)
        if (error) {
                pr_err("%s: error registering the RMI physical driver: %d\n",
                        __func__, error);
-               goto err_unregister_bus;
+               goto err_unregister_function_handlers;
        }
 
        return 0;
 
+err_unregister_function_handlers:
+       rmi_unregister_function_handlers();
 err_unregister_bus:
        bus_unregister(&rmi_bus_type);
        return error;