public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] rtc-tegra: properly initialize spinlock
@ 2011-07-22  8:35 Uwe Kleine-König
  2011-07-22 22:13 ` Andrew Morton
  0 siblings, 1 reply; 4+ messages in thread
From: Uwe Kleine-König @ 2011-07-22  8:35 UTC (permalink / raw)
  To: Andrew Chew
  Cc: linux-rt-users, Alessandro Zummo, Andrew Morton, linux-kernel,
	jkastner

Using __SPIN_LOCK_UNLOCKED for a dynamically allocated lock is wrong and
breaks with PREEMPT_RT_FULL.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/rtc/rtc-tegra.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
index 2fc31aa..75259fe 100644
--- a/drivers/rtc/rtc-tegra.c
+++ b/drivers/rtc/rtc-tegra.c
@@ -343,7 +343,7 @@ static int __devinit tegra_rtc_probe(struct platform_device *pdev)
 
 	/* set context info. */
 	info->pdev = pdev;
-	info->tegra_rtc_lock = __SPIN_LOCK_UNLOCKED(info->tegra_rtc_lock);
+	spin_lock_init(&info->tegra_rtc_lock);
 
 	platform_set_drvdata(pdev, info);
 
-- 
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] rtc-tegra: properly initialize spinlock
  2011-07-22  8:35 [PATCH] rtc-tegra: properly initialize spinlock Uwe Kleine-König
@ 2011-07-22 22:13 ` Andrew Morton
  2011-07-22 23:19   ` Sven-Thorsten Dietrich
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2011-07-22 22:13 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Andrew Chew, linux-rt-users, Alessandro Zummo, linux-kernel,
	jkastner

On Fri, 22 Jul 2011 10:35:56 +0200
Uwe Kleine-K__nig <u.kleine-koenig@pengutronix.de> wrote:

> Using __SPIN_LOCK_UNLOCKED for a dynamically allocated lock is wrong and
> breaks with PREEMPT_RT_FULL.

Please define "breaks".  Lockdep warnings?  Deadlocks?

> diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
> index 2fc31aa..75259fe 100644
> --- a/drivers/rtc/rtc-tegra.c
> +++ b/drivers/rtc/rtc-tegra.c
> @@ -343,7 +343,7 @@ static int __devinit tegra_rtc_probe(struct platform_device *pdev)
>  
>  	/* set context info. */
>  	info->pdev = pdev;
> -	info->tegra_rtc_lock = __SPIN_LOCK_UNLOCKED(info->tegra_rtc_lock);
> +	spin_lock_init(&info->tegra_rtc_lock);
>  
>  	platform_set_drvdata(pdev, info);
>  
> -- 
> 1.7.5.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] rtc-tegra: properly initialize spinlock
  2011-07-22 22:13 ` Andrew Morton
@ 2011-07-22 23:19   ` Sven-Thorsten Dietrich
  2011-07-23  7:29     ` Thomas Gleixner
  0 siblings, 1 reply; 4+ messages in thread
From: Sven-Thorsten Dietrich @ 2011-07-22 23:19 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Uwe Kleine-König, Andrew Chew, linux-rt-users,
	Alessandro Zummo, linux-kernel, jkastner


On Jul 22, 2011, at 3:13 PM, Andrew Morton wrote:

> On Fri, 22 Jul 2011 10:35:56 +0200
> Uwe Kleine-K__nig <u.kleine-koenig@pengutronix.de> wrote:
> 
>> Using __SPIN_LOCK_UNLOCKED for a dynamically allocated lock is wrong and
>> breaks with PREEMPT_RT_FULL.
> 
> Please define "breaks".  Lockdep warnings?  Deadlocks?

Narrr, I think its a compile-time problem with the static initializer.

Sven

> 
>> diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
>> index 2fc31aa..75259fe 100644
>> --- a/drivers/rtc/rtc-tegra.c
>> +++ b/drivers/rtc/rtc-tegra.c
>> @@ -343,7 +343,7 @@ static int __devinit tegra_rtc_probe(struct platform_device *pdev)
>> 
>> 	/* set context info. */
>> 	info->pdev = pdev;
>> -	info->tegra_rtc_lock = __SPIN_LOCK_UNLOCKED(info->tegra_rtc_lock);
>> +	spin_lock_init(&info->tegra_rtc_lock);
>> 
>> 	platform_set_drvdata(pdev, info);
>> 
>> -- 
>> 1.7.5.4
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] rtc-tegra: properly initialize spinlock
  2011-07-22 23:19   ` Sven-Thorsten Dietrich
@ 2011-07-23  7:29     ` Thomas Gleixner
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Gleixner @ 2011-07-23  7:29 UTC (permalink / raw)
  To: Sven-Thorsten Dietrich
  Cc: Andrew Morton, Uwe Kleine-König, Andrew Chew, linux-rt-users,
	Alessandro Zummo, linux-kernel, jkastner

On Fri, 22 Jul 2011, Sven-Thorsten Dietrich wrote:
> 
> On Jul 22, 2011, at 3:13 PM, Andrew Morton wrote:
> 
> > On Fri, 22 Jul 2011 10:35:56 +0200
> > Uwe Kleine-K__nig <u.kleine-koenig@pengutronix.de> wrote:
> > 
> >> Using __SPIN_LOCK_UNLOCKED for a dynamically allocated lock is wrong and
> >> breaks with PREEMPT_RT_FULL.
> > 
> > Please define "breaks".  Lockdep warnings?  Deadlocks?
> 
> Narrr, I think its a compile-time problem with the static initializer.

Correct. The macro expansion magic of the static initializer barfs and
with lockdep the lockdep key assignment is missing.

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-07-23  7:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-22  8:35 [PATCH] rtc-tegra: properly initialize spinlock Uwe Kleine-König
2011-07-22 22:13 ` Andrew Morton
2011-07-22 23:19   ` Sven-Thorsten Dietrich
2011-07-23  7:29     ` Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox