When del_timer_sync() is called in an interrupt context it throws a warning
because of potential deadlock. Threaded irq handler fixes the potential
problem.

Signed-off-by: Piotr Wojtaszczyk <piotr.wojtaszc...@timesys.com>
---
 drivers/i2c/busses/i2c-pnx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-pnx.c b/drivers/i2c/busses/i2c-pnx.c
index a12525b3186b..b2ab6fb168bf 100644
--- a/drivers/i2c/busses/i2c-pnx.c
+++ b/drivers/i2c/busses/i2c-pnx.c
@@ -718,8 +718,8 @@ static int i2c_pnx_probe(struct platform_device *pdev)
                ret = alg_data->irq;
                goto out_clock;
        }
-       ret = devm_request_irq(&pdev->dev, alg_data->irq, i2c_pnx_interrupt,
-                              0, pdev->name, alg_data);
+       ret = devm_request_threaded_irq(&pdev->dev, alg_data->irq, NULL, 
i2c_pnx_interrupt,
+                                       IRQF_ONESHOT, pdev->name, alg_data);
        if (ret)
                goto out_clock;
 
-- 
2.25.1

Reply via email to