Message ID | CAPgLHd_asZkqBEXyx611=NOMfcaR18jZ8Yxkt5yhg7Lbng93MA@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, On 2013-12-06 14:55, Wei Yongjun wrote: > From: Wei Yongjun <yongjun_wei@trendmicro.com.cn> > > Add the missing unlock before return from function > acx565akm_panel_power_on() in the error handling case. > > Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> A fix for this has already been merged: c37dd677988ca50bc8bc60ab5ab053720583c168 (ARM: OMAPFB: panel-sony-acx565akm: fix bad unlock balance) Tomi
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)