[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ef37ed64-24ad-4b82-bc6c-d3bc72aaf232@samsung.com>
Date: Tue, 20 Jan 2026 16:23:27 +0100
From: Marek Szyprowski <m.szyprowski@...sung.com>
To: Mark Brown <broonie@...nel.org>, Gui-Dong Han <hanguidong02@...il.com>
Cc: gregkh@...uxfoundation.org, rafael@...nel.org, dakr@...nel.org,
linux-kernel@...r.kernel.org, baijiaju1990@...il.com, Qiu-ji Chen
<chenqiuji666@...il.com>, Aishwarya.TCV@....com
Subject: Re: [PATCH v5] driver core: enforce device_lock for
driver_match_device()
On 20.01.2026 14:22, Mark Brown wrote:
> On Wed, Jan 14, 2026 at 12:28:43AM +0800, Gui-Dong Han wrote:
>> Currently, driver_match_device() is called from three sites. One site
>> (__device_attach_driver) holds device_lock(dev), but the other two
>> (bind_store and __driver_attach) do not. This inconsistency means that
>> bus match() callbacks are not guaranteed to be called with the lock
>> held.
> I'm seeing boot hangs on Arm Juno in next/pending-fixes which bisect to
> this commit. The boot grinds to a halt near the end of boot:
>
> [ 2.570549] ledtrig-cpu: registered to indicate activity on CPUs
> [ 2.618301] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [ 2.623547] msm_serial: driver initialized
> [ 2.624058] SuperH (H)SCI(F) driver initialized
> [ 2.624312] STM32 USART driver initialized
>
> with no further output, full log:
>
> https://lava.sirena.org.uk/scheduler/job/2387335#L862
>
> We are also seeing similar looking boot hangs on some Qualcomm platforms
> in Arm's test lab which aren't verified to be the same thing but are
> hanging at a similar point in boot.
I've observed the same issue on Qualcomm RB5 board and bisecting lead me
also to this patch. My kernel log also doesn't reveal much information:
...
[ 3.671227] vreg_bob: Setting 3008000-4000000uV
[ 3.676929] vreg_l1c_1p8: Setting 1800000-1800000uV
[ 3.682826] vreg_l2c_1p2: Setting 1200000-1200000uV
[ 3.688547] vreg_l3c_0p8: Setting 800000-800000uV
[ 3.694080] vreg_l4c_1p7: Setting 1704000-2928000uV
[ 3.699908] vreg_l5c_1p8: Setting 1800000-2928000uV
[ 3.705763] vreg_l6c_2p96: Setting 1800000-2960000uV
[ 3.711684] vreg_l7c_cam_vcm0_2p85: Setting 2856000-3104000uV
[ 3.718408] vreg_l8c_1p8: Setting 1800000-1800000uV
[ 3.724287] vreg_l9c_2p96: Setting 2704000-2960000uV
[ 3.730218] vreg_l10c_3p0: Setting 3000000-3000000uV
[ 3.736226] vreg_l11c_3p3: Setting 3296000-3296000uV
[ 3.743413] vreg_s8c_1p3: Setting 1352000-1352000uV
[ 3.771370] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 3.792020] msm_serial: driver initialized
[ 3.797633] SuperH (H)SCI(F) driver initialized
[ 3.802881] STM32 USART driver initialized
[hang/freeze]
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Powered by blists - more mailing lists