Skip to content

Commit

Permalink
Input: snvs_pwrkey - initialize necessary driver data before enabling…
Browse files Browse the repository at this point in the history
… IRQ

SNVS IRQ is requested before necessary driver data initialized,
if there is a pending IRQ during driver probe phase, kernel
NULL pointer panic will occur in IRQ handler. To avoid such
scenario, just initialize necessary driver data before enabling
IRQ. This patch is inspired by NXP's internal kernel tree.

Fixes: d3dc6e2 ("input: keyboard: imx: add snvs power key driver")
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
  • Loading branch information
Anson Huang authored and Dmitry Torokhov committed Apr 3, 2019
1 parent c01908a commit bf2a7ca
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/input/keyboard/snvs_pwrkey.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,9 @@ static int imx_snvs_pwrkey_probe(struct platform_device *pdev)
return error;
}

pdata->input = input;
platform_set_drvdata(pdev, pdata);

error = devm_request_irq(&pdev->dev, pdata->irq,
imx_snvs_pwrkey_interrupt,
0, pdev->name, pdev);
Expand All @@ -163,9 +166,6 @@ static int imx_snvs_pwrkey_probe(struct platform_device *pdev)
return error;
}

pdata->input = input;
platform_set_drvdata(pdev, pdata);

device_init_wakeup(&pdev->dev, pdata->wakeup);

return 0;
Expand Down

0 comments on commit bf2a7ca

Please sign in to comment.