Эх сурвалжийг харах

Input: serio - fix blocking of parport

If parkbd_allocate_serio() fails to allocate memory we are releasing the
parport but we missed unregistering the device. As a result this device
with exclusive access to that parport remains registered. And no other
device will be able to use that parport even though this driver has
failed to load.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Sudip Mukherjee 10 жил өмнө
parent
commit
1a5e251996

+ 1 - 0
drivers/input/serio/parkbd.c

@@ -194,6 +194,7 @@ static int __init parkbd_init(void)
 	parkbd_port = parkbd_allocate_serio();
 	parkbd_port = parkbd_allocate_serio();
 	if (!parkbd_port) {
 	if (!parkbd_port) {
 		parport_release(parkbd_dev);
 		parport_release(parkbd_dev);
+		parport_unregister_device(parkbd_dev);
 		return -ENOMEM;
 		return -ENOMEM;
 	}
 	}