I2C: mv64xxx: fix error handling for request_irq()
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 16 May 2013 20:36:11 +0000 (21:36 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Wed, 5 Jun 2013 21:06:46 +0000 (23:06 +0200)
Propagate the error code from request_irq() rather than ignoring it
entirely.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-mv64xxx.c

index 640b49d..4b45c73 100644 (file)
@@ -630,12 +630,12 @@ mv64xxx_i2c_probe(struct platform_device *pd)
 
        mv64xxx_i2c_hw_init(drv_data);
 
-       if (request_irq(drv_data->irq, mv64xxx_i2c_intr, 0,
-                       MV64XXX_I2C_CTLR_NAME, drv_data)) {
+       rc = request_irq(drv_data->irq, mv64xxx_i2c_intr, 0,
+                        MV64XXX_I2C_CTLR_NAME, drv_data);
+       if (rc) {
                dev_err(&drv_data->adapter.dev,
-                       "mv64xxx: Can't register intr handler irq: %d\n",
-                       drv_data->irq);
-               rc = -EINVAL;
+                       "mv64xxx: Can't register intr handler irq%d: %d\n",
+                       drv_data->irq, rc);
                goto exit_clk;
        } else if ((rc = i2c_add_numbered_adapter(&drv_data->adapter)) != 0) {
                dev_err(&drv_data->adapter.dev,