i2c: xilinx: Do not enable irq before irq handler
authorMichal Simek <michal.simek@xilinx.com>
Thu, 19 Dec 2013 15:05:05 +0000 (16:05 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Sat, 4 Jan 2014 22:34:29 +0000 (23:34 +0100)
IRQ handler has to be register first before IRQ
is enabled in xiic_reinit().

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-xiic.c

index 5e5fae7d87f22bdfec5b285a4f1335a2beefee76..2d559896c678034658d928d8bc2a5ea18fbd9793 100644 (file)
@@ -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) {