From: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Add the missing unlock before return from function acx565akm_panel_power_on() in the error handling case. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> --- drivers/video/omap2/displays-new/panel-sony-acx565akm.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/video/omap2/displays-new/panel-sony-acx565akm.c b/drivers/video/omap2/displays-new/panel-sony-acx565akm.c index d94f35d..69aa4a1 100644 --- a/drivers/video/omap2/displays-new/panel-sony-acx565akm.c +++ b/drivers/video/omap2/displays-new/panel-sony-acx565akm.c @@ -536,7 +536,7 @@ static int acx565akm_panel_power_on(struct omap_dss_device *dssdev) r = in->ops.sdi->enable(in); if (r) { pr_err("%s sdi enable failed\n", __func__); - return r; + goto out; } /*FIXME tweak me */ @@ -547,7 +547,8 @@ static int acx565akm_panel_power_on(struct omap_dss_device *dssdev) if (ddata->enabled) { dev_dbg(&ddata->spi->dev, "panel already enabled\n"); - return 0; + r = 0; + goto out; } /* @@ -571,6 +572,10 @@ static int acx565akm_panel_power_on(struct omap_dss_device *dssdev) mutex_unlock(&ddata->mutex); return acx565akm_bl_update_status(ddata->bl_dev); + +out: + mutex_unlock(&ddata->mutex); + return r; } static void acx565akm_panel_power_off(struct omap_dss_device *dssdev) -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html