IRQ handler has to be register first before IRQ
is enabled in xiic_reinit().

Signed-off-by: Michal Simek <michal.si...@xilinx.com>

---

Changes in v5: None
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 5e5fae7..2d55989 100644
--- a/drivers/i2c/busses/i2c-xiic.c
+++ b/drivers/i2c/busses/i2c-xiic.c
@@ -731,8 +731,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);
@@ -741,6 +739,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: pgpQCa0uTPgds.pgp
Description: PGP signature

Reply via email to