IRQ handler has to be register first before IRQ is enabled in xiic_reinit(). Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> --- Changes in v4: None Changes in v3: - New patch in this patchset based on my discussion with Wolfram https://lkml.org/lkml/2013/10/4/148 Changes in v2: None drivers/i2c/busses/i2c-xiic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c index 4d5c79e..1ded456b 100644 --- a/drivers/i2c/busses/i2c-xiic.c +++ b/drivers/i2c/busses/i2c-xiic.c @@ -730,8 +730,6 @@ static int xiic_i2c_probe(struct platform_device *pdev) i2c->adap.dev.parent = &pdev->dev; i2c->adap.dev.of_node = pdev->dev.of_node; - xiic_reinit(i2c); - spin_lock_init(&i2c->lock); init_waitqueue_head(&i2c->wait); ret = request_irq(irq, xiic_isr, 0, pdev->name, i2c); @@ -740,6 +738,8 @@ static int xiic_i2c_probe(struct platform_device *pdev) goto request_irq_failed; } + xiic_reinit(i2c); + /* add i2c adapter to i2c tree */ ret = i2c_add_adapter(&i2c->adap); if (ret) { -- 1.8.2.3
Attachment:
pgpujVXRSulSb.pgp
Description: PGP signature