diff options
author | David Vrabel <dvrabel@arcom.com> | 2006-01-19 12:56:29 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-20 16:42:57 -0500 |
commit | 489447380a2921ec0e9154f773c44ab3167ede4b (patch) | |
tree | 10edc2bca15765dae7699b8d26cf3d828869bc3c /drivers/i2c/busses/i2c-mpc.c | |
parent | 305b3228f9ff4d59f49e6d34a7034d44ee8ce2f0 (diff) |
[PATCH] handle errors returned by platform_get_irq*()
platform_get_irq*() now returns on -ENXIO when the resource cannot be
found. Ensure all users of platform_get_irq*() handle this error
appropriately.
Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/i2c/busses/i2c-mpc.c')
-rw-r--r-- | drivers/i2c/busses/i2c-mpc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c index 5ccd338a9dc9..2721e4c8184a 100644 --- a/drivers/i2c/busses/i2c-mpc.c +++ b/drivers/i2c/busses/i2c-mpc.c | |||
@@ -302,6 +302,10 @@ static int fsl_i2c_probe(struct platform_device *pdev) | |||
302 | } | 302 | } |
303 | 303 | ||
304 | i2c->irq = platform_get_irq(pdev, 0); | 304 | i2c->irq = platform_get_irq(pdev, 0); |
305 | if (i2c->irq < 0) { | ||
306 | result = -ENXIO; | ||
307 | goto fail_get_irq; | ||
308 | } | ||
305 | i2c->flags = pdata->device_flags; | 309 | i2c->flags = pdata->device_flags; |
306 | init_waitqueue_head(&i2c->queue); | 310 | init_waitqueue_head(&i2c->queue); |
307 | 311 | ||
@@ -340,6 +344,7 @@ static int fsl_i2c_probe(struct platform_device *pdev) | |||
340 | fail_irq: | 344 | fail_irq: |
341 | iounmap(i2c->base); | 345 | iounmap(i2c->base); |
342 | fail_map: | 346 | fail_map: |
347 | fail_get_irq: | ||
343 | kfree(i2c); | 348 | kfree(i2c); |
344 | return result; | 349 | return result; |
345 | }; | 350 | }; |