From: Felipe Balbi Date: Tue, 30 Sep 2008 18:42:57 +0000 (+0300) Subject: i2c: added a few missing gotos to add_children() X-Git-Tag: v2.6.27-omap1~113 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=a5f78ae6ead9859c495b2ebfaebadba746c0d672;p=linux-2.6-omap-h63xx.git i2c: added a few missing gotos to add_children() Previously we were failing platform_device_add_data() and returning from add_children but trying to keep going when platform_device_add() fails. Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren --- diff --git a/drivers/i2c/chips/twl4030-core.c b/drivers/i2c/chips/twl4030-core.c index 4ea6444de76..80cf2318e7d 100644 --- a/drivers/i2c/chips/twl4030-core.c +++ b/drivers/i2c/chips/twl4030-core.c @@ -675,6 +675,7 @@ static int add_children(struct twl4030_platform_data *pdata) if (!pdev) { pr_debug("%s: can't alloc gpio dev\n", DRIVER_NAME); status = -ENOMEM; + goto err; } /* more driver model init */ @@ -735,6 +736,7 @@ static int add_children(struct twl4030_platform_data *pdata) dev_dbg(&twl->client->dev, "can't create keypad dev, %d\n", status); + goto err; } } else { pr_debug("%s: can't alloc keypad dev\n", DRIVER_NAME); @@ -764,6 +766,7 @@ static int add_children(struct twl4030_platform_data *pdata) dev_dbg(&twl->client->dev, "can't create madc dev, %d\n", status); + goto err; } } else { pr_debug("%s: can't alloc madc dev\n", DRIVER_NAME); @@ -799,6 +802,7 @@ static int add_children(struct twl4030_platform_data *pdata) dev_dbg(&twl->client->dev, "can't create rtc dev, %d\n", status); + goto err; } } else { pr_debug("%s: can't alloc rtc dev\n", DRIVER_NAME); @@ -832,7 +836,6 @@ static int add_children(struct twl4030_platform_data *pdata) } else { pr_debug("%s: can't alloc usb dev\n", DRIVER_NAME); status = -ENOMEM; - goto err; } }