linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de
Subject: lockdep splat on stm32, v5.8 .. v5.17-rc1
Date: Wed, 2 Feb 2022 18:44:30 +0100	[thread overview]
Message-ID: <20220202174430.pf37tt6lua2op3gc@pengutronix.de> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 4937 bytes --]

Hello,

on an stm32mp1 machine (dk2) I hit the following lockdep splat:

[    1.819383] =============================
[    1.823384] [ BUG: Invalid wait context ]
[    1.827393] 5.17.0-rc1 #10 Not tainted
[    1.831138] -----------------------------
[    1.835144] swapper/0/1 is trying to lock:
[    1.839239] c22e9410 (syscon:110:(&syscon_config)->lock){....}-{3:3}, at: regmap_lock_spinlock+0x14/0x1c
[    1.848733] other info that might help us debug this:
[    1.853785] context-{5:5}
[    1.856399] 4 locks held by swapper/0/1:
[    1.860318]  #0: c22e78d8 (&dev->mutex){....}-{4:4}, at: __driver_attach+0xec/0x1dc
[    1.867984]  #1: c25de4e8 (&dev->mutex){....}-{4:4}, at: __device_attach+0x34/0x1d8
[    1.875650]  #2: c25e993c (&desc->request_mutex){+.+.}-{4:4}, at: __setup_irq+0xac/0x8a8
[    1.883751]  #3: c25e987c (&irq_desc_lock_class){-...}-{2:2}, at: __setup_irq+0xd4/0x8a8
[    1.891850] stack backtrace:
[    1.894727] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.17.0-rc1 #10
[    1.901084] Hardware name: STM32 (Device Tree Support)
[    1.906232]  unwind_backtrace from show_stack+0x18/0x1c
[    1.911452]  show_stack from dump_stack_lvl+0x58/0x70
[    1.916506]  dump_stack_lvl from __lock_acquire+0x9d0/0x31b8
[    1.922167]  __lock_acquire from lock_acquire+0x14c/0x430
[    1.927569]  lock_acquire from _raw_spin_lock_irqsave+0x4c/0x68
[    1.933493]  _raw_spin_lock_irqsave from regmap_lock_spinlock+0x14/0x1c
[    1.940115]  regmap_lock_spinlock from regmap_field_update_bits_base+0x40/0x84
[    1.947346]  regmap_field_update_bits_base from stm32_gpio_domain_activate+0x6c/0xa8
[    1.955099]  stm32_gpio_domain_activate from __irq_domain_activate_irq+0x5c/0x84
[    1.962504]  __irq_domain_activate_irq from irq_domain_activate_irq+0x34/0x48
[    1.969647]  irq_domain_activate_irq from __setup_irq+0x2d0/0x8a8
[    1.975746]  __setup_irq from request_threaded_irq+0xec/0x164
[    1.981495]  request_threaded_irq from regmap_add_irq_chip_fwnode+0x78c/0xa80
[    1.988639]  regmap_add_irq_chip_fwnode from devm_regmap_add_irq_chip_fwnode+0x88/0xe0
[    1.996567]  devm_regmap_add_irq_chip_fwnode from devm_regmap_add_irq_chip+0x58/0x60
[    2.004320]  devm_regmap_add_irq_chip from stpmic1_probe+0xf0/0x164
[    2.010591]  stpmic1_probe from i2c_device_probe+0x318/0x348
[    2.016254]  i2c_device_probe from really_probe+0x1ac/0x470
[    2.021829]  really_probe from __driver_probe_device+0xa8/0x210
[    2.027751]  __driver_probe_device from driver_probe_device+0x3c/0xcc
[    2.034197]  driver_probe_device from __device_attach_driver+0xac/0x124
[    2.040818]  __device_attach_driver from bus_for_each_drv+0x84/0xc8
[    2.047092]  bus_for_each_drv from __device_attach+0xd0/0x1d8
[    2.052841]  __device_attach from bus_probe_device+0x90/0x98
[    2.058503]  bus_probe_device from device_add+0x3c0/0x924
[    2.063905]  device_add from i2c_new_client_device+0x198/0x2cc
[    2.069741]  i2c_new_client_device from of_i2c_register_device+0x7c/0xc0
[    2.076449]  of_i2c_register_device from of_i2c_register_devices+0x8c/0x100
[    2.083418]  of_i2c_register_devices from i2c_register_adapter+0x234/0x72c
[    2.090299]  i2c_register_adapter from stm32f7_i2c_probe+0xa24/0xef0
[    2.096659]  stm32f7_i2c_probe from platform_probe+0x64/0xc4
[    2.102321]  platform_probe from really_probe+0x1ac/0x470
[    2.107721]  really_probe from __driver_probe_device+0xa8/0x210
[    2.113644]  __driver_probe_device from driver_probe_device+0x3c/0xcc
[    2.120090]  driver_probe_device from __driver_attach+0xf8/0x1dc
[    2.126100]  __driver_attach from bus_for_each_dev+0x78/0xb8
[    2.131763]  bus_for_each_dev from bus_add_driver+0x178/0x214
[    2.137512]  bus_add_driver from driver_register+0x90/0x120
[    2.143087]  driver_register from do_one_initcall+0x6c/0x394
[    2.148751]  do_one_initcall from kernel_init_freeable+0x2b4/0x318
[    2.154936]  kernel_init_freeable from kernel_init+0x1c/0x138
[    2.160686]  kernel_init from ret_from_fork+0x14/0x2c
[    2.165737] Exception stack(0xc20e3fb0 to 0xc20e3ff8)
[    2.170795] 3fa0:                                     00000000 00000000 00000000 00000000
[    2.178985] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    2.187173] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000

I tried to bisect that and found a similar splat on v5.16, v5.12 and
v5.8, so I dropped the bisect plan.

On another ARM machine (i.MX6) a coworker found a similar problem
involving GPIOs, so I wonder if there is something broken in general? I
wonder however this didn't pop up earlier?!

I didn't try to understand that yet, just want to let you know; at least
for now.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

                 reply	other threads:[~2022-02-02 17:46 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20220202174430.pf37tt6lua2op3gc@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=alexandre.torgue@foss.st.com \
    --cc=kernel@pengutronix.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=mcoquelin.stm32@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).