diff mbox

Input: pmic8xxx-keypad - fix a leak of the IRQ during init failure

Message ID 1310609391.14393.1.camel@phoenix (mailing list archive)
State Accepted
Commit edf21d9c38b945b91d100bae59d951bce131d58b
Headers show

Commit Message

axel lin July 14, 2011, 2:09 a.m. UTC
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>
---
 drivers/input/keyboard/pmic8xxx-keypad.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

Comments

Anirudh Ghayal July 14, 2011, 6:24 a.m. UTC | #1
On 7/14/2011 7:39 AM, Axel Lin wrote:
> 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>

Acked-by: Anirudh Ghayal <aghayal@codeaurora.org>

> ---
>   drivers/input/keyboard/pmic8xxx-keypad.c |    8 ++++----
>   1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/input/keyboard/pmic8xxx-keypad.c b/drivers/input/keyboard/pmic8xxx-keypad.c
> index 6229c3e..e7cc51d 100644
> --- a/drivers/input/keyboard/pmic8xxx-keypad.c
> +++ b/drivers/input/keyboard/pmic8xxx-keypad.c
> @@ -700,9 +700,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);
> @@ -717,8 +717,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);
>

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/input/keyboard/pmic8xxx-keypad.c b/drivers/input/keyboard/pmic8xxx-keypad.c
index 6229c3e..e7cc51d 100644
--- a/drivers/input/keyboard/pmic8xxx-keypad.c
+++ b/drivers/input/keyboard/pmic8xxx-keypad.c
@@ -700,9 +700,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);
@@ -717,8 +717,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);