All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Aaro Koskinen <aaro.koskinen@iki.fi>,
	linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Cc: Eduardo Valentin <eduardo.valentin@ti.com>, stable@vger.kernel.org
Subject: Re: [PATCH v2] ARM: OMAPFB: panel-sony-acx565akm: fix bad unlock balance
Date: Mon, 18 Nov 2013 13:36:51 +0000	[thread overview]
Message-ID: <528A17F3.5020500@ti.com> (raw)
In-Reply-To: <1384195298-31542-1-git-send-email-aaro.koskinen@iki.fi>

[-- Attachment #1: Type: text/plain, Size: 2088 bytes --]

On 2013-11-11 20:41, Aaro Koskinen wrote:
> When booting Nokia N900 smartphone with v3.12 + omap2plus_defconfig
> (LOCKDEP enabled) and CONFIG_DISPLAY_PANEL_SONY_ACX565AKM enabled,
> the following BUG is seen during the boot:
> 
> [    7.302154] =====================================
> [    7.307128] [ BUG: bad unlock balance detected! ]
> [    7.312103] 3.12.0-los.git-2093492-00120-g5e01dc7 #3 Not tainted
> [    7.318450] -------------------------------------
> [    7.323425] kworker/u2:1/12 is trying to release lock (&ddata->mutex) at:
> [    7.330657] [<c031b760>] acx565akm_enable+0x12c/0x18c
> [    7.335998] but there are no more locks to release!
> 
> Fix by removing double unlock and handling the locking completely inside
> acx565akm_panel_power_on() when doing the power on.
> 
> Reported-by: Eduardo Valentin <eduardo.valentin@ti.com>
> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
> Cc: stable@vger.kernel.org
> ---
>  drivers/video/omap2/displays-new/panel-sony-acx565akm.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/video/omap2/displays-new/panel-sony-acx565akm.c b/drivers/video/omap2/displays-new/panel-sony-acx565akm.c
> index e6d56f7..d94f35d 100644
> --- a/drivers/video/omap2/displays-new/panel-sony-acx565akm.c
> +++ b/drivers/video/omap2/displays-new/panel-sony-acx565akm.c
> @@ -526,6 +526,8 @@ static int acx565akm_panel_power_on(struct omap_dss_device *dssdev)
>  	struct omap_dss_device *in = ddata->in;
>  	int r;
>  
> +	mutex_lock(&ddata->mutex);
> +
>  	dev_dbg(&ddata->spi->dev, "%s\n", __func__);
>  
>  	in->ops.sdi->set_timings(in, &ddata->videomode);
> @@ -614,10 +616,7 @@ static int acx565akm_enable(struct omap_dss_device *dssdev)
>  	if (omapdss_device_is_enabled(dssdev))
>  		return 0;
>  
> -	mutex_lock(&ddata->mutex);
>  	r = acx565akm_panel_power_on(dssdev);
> -	mutex_unlock(&ddata->mutex);
> -
>  	if (r)
>  		return r;
>  
> 

Thanks, this is better. lock and unlock in different functions makes me
feel very uneasy...

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Aaro Koskinen <aaro.koskinen@iki.fi>,
	linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Cc: Eduardo Valentin <eduardo.valentin@ti.com>, stable@vger.kernel.org
Subject: Re: [PATCH v2] ARM: OMAPFB: panel-sony-acx565akm: fix bad unlock balance
Date: Mon, 18 Nov 2013 15:36:51 +0200	[thread overview]
Message-ID: <528A17F3.5020500@ti.com> (raw)
In-Reply-To: <1384195298-31542-1-git-send-email-aaro.koskinen@iki.fi>

[-- Attachment #1: Type: text/plain, Size: 2088 bytes --]

On 2013-11-11 20:41, Aaro Koskinen wrote:
> When booting Nokia N900 smartphone with v3.12 + omap2plus_defconfig
> (LOCKDEP enabled) and CONFIG_DISPLAY_PANEL_SONY_ACX565AKM enabled,
> the following BUG is seen during the boot:
> 
> [    7.302154] =====================================
> [    7.307128] [ BUG: bad unlock balance detected! ]
> [    7.312103] 3.12.0-los.git-2093492-00120-g5e01dc7 #3 Not tainted
> [    7.318450] -------------------------------------
> [    7.323425] kworker/u2:1/12 is trying to release lock (&ddata->mutex) at:
> [    7.330657] [<c031b760>] acx565akm_enable+0x12c/0x18c
> [    7.335998] but there are no more locks to release!
> 
> Fix by removing double unlock and handling the locking completely inside
> acx565akm_panel_power_on() when doing the power on.
> 
> Reported-by: Eduardo Valentin <eduardo.valentin@ti.com>
> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
> Cc: stable@vger.kernel.org
> ---
>  drivers/video/omap2/displays-new/panel-sony-acx565akm.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/video/omap2/displays-new/panel-sony-acx565akm.c b/drivers/video/omap2/displays-new/panel-sony-acx565akm.c
> index e6d56f7..d94f35d 100644
> --- a/drivers/video/omap2/displays-new/panel-sony-acx565akm.c
> +++ b/drivers/video/omap2/displays-new/panel-sony-acx565akm.c
> @@ -526,6 +526,8 @@ static int acx565akm_panel_power_on(struct omap_dss_device *dssdev)
>  	struct omap_dss_device *in = ddata->in;
>  	int r;
>  
> +	mutex_lock(&ddata->mutex);
> +
>  	dev_dbg(&ddata->spi->dev, "%s\n", __func__);
>  
>  	in->ops.sdi->set_timings(in, &ddata->videomode);
> @@ -614,10 +616,7 @@ static int acx565akm_enable(struct omap_dss_device *dssdev)
>  	if (omapdss_device_is_enabled(dssdev))
>  		return 0;
>  
> -	mutex_lock(&ddata->mutex);
>  	r = acx565akm_panel_power_on(dssdev);
> -	mutex_unlock(&ddata->mutex);
> -
>  	if (r)
>  		return r;
>  
> 

Thanks, this is better. lock and unlock in different functions makes me
feel very uneasy...

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

  reply	other threads:[~2013-11-18 13:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-11 18:41 [PATCH v2] ARM: OMAPFB: panel-sony-acx565akm: fix bad unlock balance Aaro Koskinen
2013-11-11 18:41 ` Aaro Koskinen
2013-11-18 13:36 ` Tomi Valkeinen [this message]
2013-11-18 13:36   ` Tomi Valkeinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=528A17F3.5020500@ti.com \
    --to=tomi.valkeinen@ti.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=eduardo.valentin@ti.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.