Input: rpckbd - fix a leak of the IRQ during init failure
authorAxel Lin <axel.lin@gmail.com>
Sun, 3 Apr 2011 04:20:24 +0000 (21:20 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 3 Apr 2011 04:47:53 +0000 (21:47 -0700)
In rpckbd_open prror path, free_irq() was using NULL rather than the
driver data as the data pointer so free_irq() wouldn't have matched.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/serio/rpckbd.c

index 9da6fbcaaa7e8d2ffbc0b7d3c84abee821d5d5e3..7ec3c97dc1b9b5f2198af4338db7c48ca7ec9abd 100644 (file)
@@ -90,7 +90,7 @@ static int rpckbd_open(struct serio *port)
 
        if (request_irq(IRQ_KEYBOARDTX, rpckbd_tx, 0, "rpckbd", port) != 0) {
                printk(KERN_ERR "rpckbd.c: Could not allocate keyboard transmit IRQ\n");
-               free_irq(IRQ_KEYBOARDRX, NULL);
+               free_irq(IRQ_KEYBOARDRX, port);
                return -EBUSY;
        }