Re: sun50i-a64-pinctrl WARN_ON drivers/base/dd.c:349

From: Icenowy Zheng
Date: Tue Apr 18 2017 - 06:55:24 EST




ä 2017å4æ18æ GMT+08:00 äå3:25:05, Tejun Heo <tj@xxxxxxxxxx> åå:
>Hello,
>
>On Mon, Apr 03, 2017 at 12:48:16AM +0100, Andrà Przywara wrote:
>> So I see this problem easily now - on every boot - with an unpatched
>> 4.11-rc3 kernel and the (arm64) defconfig on a Pine64 or BananaPi
>M64.
>> I enabled devres.log and see that pinctrl probes early, but
>apparently
>> gets deferred, pretty late actually (after 43 ADDs).
>>
>> Now what sticks out from the sequence (see the attached log) is that
>> there are two un-matches ADDs with a devm_kmalloc of size 0:
>> sun50i-a64-pinctrl 1c20800.pinctrl: DEVRES ADD ffff80007bd84200
>> devm_kzalloc_release (0 bytes)
>> sun50i-a64-pinctrl 1c20800.pinctrl: DEVRES ADD ffff80007bd84100
>> devm_kzalloc_release (0 bytes)

P.S. mysteriously the warn disappeared in newest -next, but still exist in 4.11-rc.

>>
>> While all the other ADDs have a matching REL, those two have not. I
>> guess it's due to the size being 0. Does that ring a bell?
>
>AFAICS, 0 size allocs should be fine.
>
>> Or is due to the fact that these two ADDs are after the RELs have
>> already started, so at a point where the driver is already cleaned
>up?
>
>But this sounds problematic to me. So, these zero length allocations
>are happening after release of the device is initiated? Where are
>they coming from?
>
>Thanks.