]> git.hungrycats.org Git - linux/commitdiff
Input: serio - fix blocking of parport
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>
Mon, 28 Sep 2015 00:13:55 +0000 (17:13 -0700)
committerSasha Levin <sasha.levin@oracle.com>
Thu, 3 Dec 2015 04:25:47 +0000 (23:25 -0500)
[ Upstream commit 1a5e251996e1b602f2ddc9261ee9de0ca1875bfa ]

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>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/input/serio/parkbd.c

index 26b45936f9fdf3334c6f083aeaa7c5ee5bb178dd..1e8cd6f1fe9e875005af95b54787890f81116a5f 100644 (file)
@@ -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;
        }