From: Jani Nikula Date: Fri, 9 Apr 2010 10:52:33 +0000 (+0300) Subject: OMAP: DSS2: Taal: Fix request_irq() error handling X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2f1e5f606a1330fa9d1d89e88670c3dec7fbe36f;p=linux-beck.git OMAP: DSS2: Taal: Fix request_irq() error handling Separate gpio_request() and request_irq() error handling. Signed-off-by: Jani Nikula Signed-off-by: Tomi Valkeinen --- diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c index 3421be3d85da..af0750e91a5d 100644 --- a/drivers/video/omap2/displays/panel-taal.c +++ b/drivers/video/omap2/displays/panel-taal.c @@ -603,7 +603,7 @@ static int taal_probe(struct omap_dss_device *dssdev) if (r) { dev_err(&dssdev->dev, "IRQ request failed\n"); gpio_free(gpio); - goto err3; + goto err4; } init_completion(&td->te_completion); @@ -614,16 +614,16 @@ static int taal_probe(struct omap_dss_device *dssdev) r = sysfs_create_group(&dssdev->dev.kobj, &taal_attr_group); if (r) { dev_err(&dssdev->dev, "failed to create sysfs files\n"); - goto err4; + goto err5; } return 0; +err5: + if (td->use_ext_te) + free_irq(gpio_to_irq(dssdev->phy.dsi.ext_te_gpio), dssdev); err4: - if (td->use_ext_te) { - int gpio = dssdev->phy.dsi.ext_te_gpio; - free_irq(gpio_to_irq(gpio), dssdev); - gpio_free(gpio); - } + if (td->use_ext_te) + gpio_free(dssdev->phy.dsi.ext_te_gpio); err3: backlight_device_unregister(bldev); err2: