diff mbox

[RESEND] reset: sunxi: fix spinlock initialization

Message ID 1421078086-27946-1-git-send-email-tyler.baker@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Tyler Baker Jan. 12, 2015, 3:54 p.m. UTC
Call spin_lock_init() before the spinlocks are used, both in early init 
and probe functions preventing a lockdep splat.

I have been observing lockdep complaining [1] during boot on my a80 optimus [2]
when CONFIG_PROVE_LOCKING has been enabled. This patch resolves the splat,
and has been tested on a few other sunxi platforms without issue.

[1] http://storage.kernelci.org/next/next-20150107/arm-multi_v7_defconfig+CONFIG_PROVE_LOCKING=y/lab-tbaker/boot-sun9i-a80-optimus.html
[2] http://kernelci.org/boot/?a80-optimus

Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
Cc: <stable@vger.kernel.org>
---
 drivers/reset/reset-sunxi.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Maxime Ripard Jan. 12, 2015, 4:17 p.m. UTC | #1
On Mon, Jan 12, 2015 at 07:54:46AM -0800, Tyler Baker wrote:
> Call spin_lock_init() before the spinlocks are used, both in early init 
> and probe functions preventing a lockdep splat.
> 
> I have been observing lockdep complaining [1] during boot on my a80 optimus [2]
> when CONFIG_PROVE_LOCKING has been enabled. This patch resolves the splat,
> and has been tested on a few other sunxi platforms without issue.
> 
> [1] http://storage.kernelci.org/next/next-20150107/arm-multi_v7_defconfig+CONFIG_PROVE_LOCKING=y/lab-tbaker/boot-sun9i-a80-optimus.html
> [2] http://kernelci.org/boot/?a80-optimus
> 
> Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
> Cc: <stable@vger.kernel.org>

Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Thanks!
Maxime
Olof Johansson Jan. 12, 2015, 10:13 p.m. UTC | #2
On Mon, Jan 12, 2015 at 05:17:06PM +0100, Maxime Ripard wrote:
> On Mon, Jan 12, 2015 at 07:54:46AM -0800, Tyler Baker wrote:
> > Call spin_lock_init() before the spinlocks are used, both in early init 
> > and probe functions preventing a lockdep splat.
> > 
> > I have been observing lockdep complaining [1] during boot on my a80 optimus [2]
> > when CONFIG_PROVE_LOCKING has been enabled. This patch resolves the splat,
> > and has been tested on a few other sunxi platforms without issue.
> > 
> > [1] http://storage.kernelci.org/next/next-20150107/arm-multi_v7_defconfig+CONFIG_PROVE_LOCKING=y/lab-tbaker/boot-sun9i-a80-optimus.html
> > [2] http://kernelci.org/boot/?a80-optimus
> > 
> > Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
> > Cc: <stable@vger.kernel.org>
> 
> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Not entirely sure what to do with this one. You sent it to:arm@kernel.org, but
it should probably have gone to Philipp?

We can pick it up with an ack from him though, no problem.


-Olof
Tyler Baker Jan. 13, 2015, 12:41 a.m. UTC | #3
On 12 January 2015 at 14:13, Olof Johansson <olof@lixom.net> wrote:
> On Mon, Jan 12, 2015 at 05:17:06PM +0100, Maxime Ripard wrote:
>> On Mon, Jan 12, 2015 at 07:54:46AM -0800, Tyler Baker wrote:
>> > Call spin_lock_init() before the spinlocks are used, both in early init
>> > and probe functions preventing a lockdep splat.
>> >
>> > I have been observing lockdep complaining [1] during boot on my a80 optimus [2]
>> > when CONFIG_PROVE_LOCKING has been enabled. This patch resolves the splat,
>> > and has been tested on a few other sunxi platforms without issue.
>> >
>> > [1] http://storage.kernelci.org/next/next-20150107/arm-multi_v7_defconfig+CONFIG_PROVE_LOCKING=y/lab-tbaker/boot-sun9i-a80-optimus.html
>> > [2] http://kernelci.org/boot/?a80-optimus
>> >
>> > Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
>> > Cc: <stable@vger.kernel.org>
>>
>> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>
> Not entirely sure what to do with this one. You sent it to:arm@kernel.org, but
> it should probably have gone to Philipp?

Apologies, that was my copy and paste error.

>
> We can pick it up with an ack from him though, no problem.

Philipp is on CC so I'll let him decide, otherwise I can resend if needed.

>
>
> -Olof

Sorry for any confusion.
Philipp Zabel Jan. 13, 2015, 9:36 a.m. UTC | #4
Hi,

Am Montag, den 12.01.2015, 14:13 -0800 schrieb Olof Johansson:
> On Mon, Jan 12, 2015 at 05:17:06PM +0100, Maxime Ripard wrote:
> > On Mon, Jan 12, 2015 at 07:54:46AM -0800, Tyler Baker wrote:
> > > Call spin_lock_init() before the spinlocks are used, both in early init 
> > > and probe functions preventing a lockdep splat.
> > > 
> > > I have been observing lockdep complaining [1] during boot on my a80 optimus [2]
> > > when CONFIG_PROVE_LOCKING has been enabled. This patch resolves the splat,
> > > and has been tested on a few other sunxi platforms without issue.
> > > 
> > > [1] http://storage.kernelci.org/next/next-20150107/arm-multi_v7_defconfig+CONFIG_PROVE_LOCKING=y/lab-tbaker/boot-sun9i-a80-optimus.html
> > > [2] http://kernelci.org/boot/?a80-optimus
> > > 
> > > Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
> > > Cc: <stable@vger.kernel.org>
> > 
> > Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> 
> Not entirely sure what to do with this one. You sent it to:arm@kernel.org, but
> it should probably have gone to Philipp?
> 
> We can pick it up with an ack from him though, no problem.

I have applied the patch here:

    git://git.pengutronix.de/git/pza/linux reset/for_v3.19

I was going to send a pull request tonight, but since I don't have any
other pending fixes besides this, and you already offered to pick it up,

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp
Kevin Hilman Jan. 15, 2015, 6:37 p.m. UTC | #5
Philipp Zabel <p.zabel@pengutronix.de> writes:

> Hi,
>
> Am Montag, den 12.01.2015, 14:13 -0800 schrieb Olof Johansson:
>> On Mon, Jan 12, 2015 at 05:17:06PM +0100, Maxime Ripard wrote:
>> > On Mon, Jan 12, 2015 at 07:54:46AM -0800, Tyler Baker wrote:
>> > > Call spin_lock_init() before the spinlocks are used, both in early init 
>> > > and probe functions preventing a lockdep splat.
>> > > 
>> > > I have been observing lockdep complaining [1] during boot on my a80 optimus [2]
>> > > when CONFIG_PROVE_LOCKING has been enabled. This patch resolves the splat,
>> > > and has been tested on a few other sunxi platforms without issue.
>> > > 
>> > > [1]
>> > > http://storage.kernelci.org/next/next-20150107/arm-multi_v7_defconfig+CONFIG_PROVE_LOCKING=y/lab-tbaker/boot-sun9i-a80-optimus.html
>> > > [2] http://kernelci.org/boot/?a80-optimus
>> > > 
>> > > Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
>> > > Cc: <stable@vger.kernel.org>
>> > 
>> > Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>> 
>> Not entirely sure what to do with this one. You sent it to:arm@kernel.org, but
>> it should probably have gone to Philipp?
>> 
>> We can pick it up with an ack from him though, no problem.
>
> I have applied the patch here:
>
>     git://git.pengutronix.de/git/pza/linux reset/for_v3.19
>
> I was going to send a pull request tonight, but since I don't have any
> other pending fixes besides this, and you already offered to pick it up,
>
> Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

Applied to arm-soc/fixes with ack from Philipp.

Thanks,

Kevin
diff mbox

Patch

diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c
index eebc52c..3d95c87 100644
--- a/drivers/reset/reset-sunxi.c
+++ b/drivers/reset/reset-sunxi.c
@@ -102,6 +102,8 @@  static int sunxi_reset_init(struct device_node *np)
 		goto err_alloc;
 	}
 
+	spin_lock_init(&data->lock);
+
 	data->rcdev.owner = THIS_MODULE;
 	data->rcdev.nr_resets = size * 32;
 	data->rcdev.ops = &sunxi_reset_ops;
@@ -157,6 +159,8 @@  static int sunxi_reset_probe(struct platform_device *pdev)
 	if (IS_ERR(data->membase))
 		return PTR_ERR(data->membase);
 
+	spin_lock_init(&data->lock);
+
 	data->rcdev.owner = THIS_MODULE;
 	data->rcdev.nr_resets = resource_size(res) * 32;
 	data->rcdev.ops = &sunxi_reset_ops;