瀏覽代碼

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 年之前
父節點
當前提交
1a5e251996
共有 1 個文件被更改,包括 1 次插入0 次删除
  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;
 	}