Re: [PATCH v6 00/16] power: sequencing: implement the subsystem and add first users

Bartosz Golaszewski
2024-04-09T15:35:49Z

On Sat, Apr 6, 2024 at 5:03 AM Xilin Wu <wuxilin123@gmail.com> wrote:
>
> I tested the patchset on SM8550 and it does give me working WiFi. However I
> seethe following warnings during boot.
>
> [ 5.973011] mhi mhi0: Requested to power ON
> [ 6.597591] mhi mhi0: Power on setup success
> [ 6.597631] sysfs: cannot create duplicate filename '/devices/platform/soc@0/1c00000.pcie/pci0000:00/0000:00:00.0/resource0'
> [ 6.597634] CPU: 7 PID: 154 Comm: kworker/u32:5 Tainted: G S 6.9.0-rc1-next-20240328-g955237c9980c #1
> [ 6.597635] Hardware name: AYN Odin 2 (DT)
> [ 6.597637] Workqueue: async async_run_entry_fn
> [ 6.597645] Call trace:
> [ 6.597646] dump_backtrace+0xa0/0x128
> [ 6.597649] show_stack+0x20/0x38
> [ 6.597650] dump_stack_lvl+0x74/0x90
> [ 6.597653] dump_stack+0x18/0x28
> [ 6.597654] sysfs_warn_dup+0x6c/0x90
> [ 6.597658] sysfs_add_bin_file_mode_ns+0xdc/0x100
> [ 6.597660] sysfs_create_bin_file+0x7c/0xb8
> [ 6.597662] pci_create_attr+0xb4/0x1a8
> [ 6.597665] pci_create_resource_files+0x64/0xd0
> [ 6.597667] pci_create_sysfs_dev_files+0x24/0x40
> [ 6.597669] pci_bus_add_device+0x54/0x138
> [ 6.597670] pci_bus_add_devices+0x40/0x98
> [ 6.597672] pci_host_probe+0x70/0xf0
> [ 6.597673] dw_pcie_host_init+0x248/0x658
> [ 6.597676] qcom_pcie_probe+0x234/0x330
> [ 6.597677] platform_probe+0x70/0xd8
> [ 6.597680] really_probe+0xc8/0x3a0
> [ 6.597681] __driver_probe_device+0x84/0x170
> [ 6.597682] driver_probe_device+0x44/0x120
> [ 6.597683] __device_attach_driver+0xc4/0x168
> [ 6.597684] bus_for_each_drv+0x8c/0xf0
> [ 6.597686] __device_attach_async_helper+0xb4/0x118
> [ 6.597687] async_run_entry_fn+0x40/0x178
> [ 6.597689] process_one_work+0x16c/0x410
> [ 6.597691] worker_thread+0x284/0x3a0
> [ 6.597693] kthread+0x118/0x128
> [ 6.597693] ret_from_fork+0x10/0x20
> [ 6.597698] ------------[ cut here ]------------
> [ 6.597698] proc_dir_entry '0000:00/00.0' already registered
> [ 6.597710] WARNING: CPU: 7 PID: 154 at fs/proc/generic.c:375 proc_register+0x138/0x1d0
> [ 6.597713] Modules linked in:
> [ 6.597714] CPU: 7 PID: 154 Comm: kworker/u32:5 Tainted: G S 6.9.0-rc1-next-20240328-g955237c9980c #1
> [ 6.597715] Hardware name: AYN Odin 2 (DT)
> [ 6.597716] Workqueue: async async_run_entry_fn
> [ 6.597718] pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
> [ 6.597719] pc : proc_register+0x138/0x1d0
> [ 6.597721] lr : proc_register+0x138/0x1d0
> [ 6.597723] sp : ffff800081e3b9a0
> [ 6.597723] x29: ffff800081e3b9a0 x28: 0000000000000000 x27: ffffddb2a28eabe0
> [ 6.597725] x26: ffff3425c9ada5c0 x25: ffffddb2a2d4eef0 x24: ffff3425c9ada540
> [ 6.597726] x23: 0000000000000004 x22: ffff3425c7b1822c x21: 0000000000000004
> [ 6.597727] x20: ffff3425c7b18180 x19: ffff3425c9adaec8 x18: ffffffffffffffff
> [ 6.597729] x17: 3040636f732f6d72 x16: 6f6674616c702f73 x15: ffff800081e3b910
> [ 6.597730] x14: 0000000000000000 x13: 0a64657265747369 x12: 6765722079646165
> [ 6.597731] x11: fffffffffff00000 x10: ffffddb2a27c4fb0 x9 : ffffddb29f5d7528
> [ 6.597733] x8 : 00000000ffff7fff x7 : ffffddb2a27c4fb0 x6 : 80000000ffff8000
> [ 6.597734] x5 : 0000000000000358 x4 : 0000000000000000 x3 : 00000000ffffffff
> [ 6.597736] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff3425c5ce0000
> [ 6.597737] Call trace:
> [ 6.597737] proc_register+0x138/0x1d0
> [ 6.597739] proc_create_data+0x48/0x78
> [ 6.597741] pci_proc_attach_device+0x84/0x118
> [ 6.597743] pci_bus_add_device+0x5c/0x138
> [ 6.597744] pci_bus_add_devices+0x40/0x98
> [ 6.597745] pci_host_probe+0x70/0xf0
> [ 6.597746] dw_pcie_host_init+0x248/0x658
> [ 6.597748] qcom_pcie_probe+0x234/0x330
> [ 6.597749] platform_probe+0x70/0xd8
> [ 6.597750] really_probe+0xc8/0x3a0
> [ 6.597751] __driver_probe_device+0x84/0x170
> [ 6.597752] driver_probe_device+0x44/0x120
> [ 6.597753] __device_attach_driver+0xc4/0x168
> [ 6.597754] bus_for_each_drv+0x8c/0xf0
> [ 6.597756] __device_attach_async_helper+0xb4/0x118
> [ 6.597757] async_run_entry_fn+0x40/0x178
> [ 6.597759] process_one_work+0x16c/0x410
> [ 6.597760] worker_thread+0x284/0x3a0
> [ 6.597761] kthread+0x118/0x128
> [ 6.597762] ret_from_fork+0x10/0x20
> [ 6.597763] ---[ end trace 0000000000000000 ]---
>
> This probably only occurs when the relevant drivers on compiled as built-in.
> Similar behavior has been noticed before as well:
>
> https://lore.kernel.org/lkml/20240201155532.49707-1-brgl@bgdev.pl/T/#mdeeca9bc8e19458787d53738298abcfff443068a
>
> Thanks,
> Xilin
>

Thanks for the report. The reason for this was populating the platform
devices before the bridge device was fully added. In case of loadable
modules this meant the pwrctl probe would be deferred long enough for
that to complete so I didn't see it but with pwrctl built-in this
would trigger the problem. I fixed it locally and will resend with
that addressed.

Bart