Explorar o código

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 %!s(int64=10) %!d(string=hai) anos
pai
achega
1a5e251996
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      drivers/input/serio/parkbd.c

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

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