mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 21:15:53 +02:00
Input: i8042 - fix leaking of platform device on module removal
[ Upstream commit81cd7e8489] Avoid resetting the module-wide i8042_platform_device pointer in i8042_probe() or i8042_remove(), so that the device can be properly destroyed by i8042_exit() on module unload. Fixes:9222ba68c3("Input: i8042 - add deferred probe support") Signed-off-by: Chen Jun <chenjun102@huawei.com> Link: https://lore.kernel.org/r/20221109034148.23821-1-chenjun102@huawei.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
7d606ae1ab
commit
3f25add5ec
|
|
@ -1543,8 +1543,6 @@ static int i8042_probe(struct platform_device *dev)
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
i8042_platform_device = dev;
|
|
||||||
|
|
||||||
if (i8042_reset == I8042_RESET_ALWAYS) {
|
if (i8042_reset == I8042_RESET_ALWAYS) {
|
||||||
error = i8042_controller_selftest();
|
error = i8042_controller_selftest();
|
||||||
if (error)
|
if (error)
|
||||||
|
|
@ -1582,7 +1580,6 @@ static int i8042_probe(struct platform_device *dev)
|
||||||
i8042_free_aux_ports(); /* in case KBD failed but AUX not */
|
i8042_free_aux_ports(); /* in case KBD failed but AUX not */
|
||||||
i8042_free_irqs();
|
i8042_free_irqs();
|
||||||
i8042_controller_reset(false);
|
i8042_controller_reset(false);
|
||||||
i8042_platform_device = NULL;
|
|
||||||
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
@ -1592,7 +1589,6 @@ static int i8042_remove(struct platform_device *dev)
|
||||||
i8042_unregister_ports();
|
i8042_unregister_ports();
|
||||||
i8042_free_irqs();
|
i8042_free_irqs();
|
||||||
i8042_controller_reset(false);
|
i8042_controller_reset(false);
|
||||||
i8042_platform_device = NULL;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user