mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
Input: pmic8xxx-keypad - fix a leak of the IRQ during init failure
Make sure we are passing the same cookie in all calls to request_any_context_irq() and free_irq(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
2c204109ec
commit
edf21d9c38
@ -699,9 +699,9 @@ static int __devinit pmic8xxx_kp_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
|
||||
err_pmic_reg_read:
|
||||
free_irq(kp->key_stuck_irq, NULL);
|
||||
free_irq(kp->key_stuck_irq, kp);
|
||||
err_req_stuck_irq:
|
||||
free_irq(kp->key_sense_irq, NULL);
|
||||
free_irq(kp->key_sense_irq, kp);
|
||||
err_gpio_config:
|
||||
err_get_irq:
|
||||
input_free_device(kp->input);
|
||||
@ -716,8 +716,8 @@ static int __devexit pmic8xxx_kp_remove(struct platform_device *pdev)
|
||||
struct pmic8xxx_kp *kp = platform_get_drvdata(pdev);
|
||||
|
||||
device_init_wakeup(&pdev->dev, 0);
|
||||
free_irq(kp->key_stuck_irq, NULL);
|
||||
free_irq(kp->key_sense_irq, NULL);
|
||||
free_irq(kp->key_stuck_irq, kp);
|
||||
free_irq(kp->key_sense_irq, kp);
|
||||
input_unregister_device(kp->input);
|
||||
kfree(kp);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user