On Thu, Sep 16, 2021 at 7:21 PM Florian Fainelli <f.fainelli@xxxxxxxxx> wrote: > > > > On 9/15/2021 1:19 AM, Saravana Kannan wrote: > > This reverts commit cf4b94c8530d14017fbddae26aad064ddc42edd4. > > > > Some PHYs pointed to by "phy-handle" will never bind to a driver until a > > consumer attaches to it. And when the consumer attaches to it, they get > > forcefully bound to a generic PHY driver. In such cases, parsing the > > phy-handle property and creating a device link will prevent the consumer > > from ever probing. We don't want that. So revert support for > > "phy-handle" property until we come up with a better mechanism for > > binding PHYs to generic drivers before a consumer tries to attach to it. > > > > Signed-off-by: Saravana Kannan <saravanak@xxxxxxxxxx> > > Thanks for getting this revert submitted, I just ran a bisection this > afternoon that pointed to this offending commit. It would cause the dead > lock Dead lock in the kernel? Or do you mean just a hang waiting forever for network? > on boot with drivers/net/dsa/bcm_sf2.c pasted below. The log is too jumbled up to be readable (word wrap I suppose) and maybe even multiple thread printing at the same time. > Saravana, can > you CC on me on your fix or what you would want me to be testing? By fix, I assume you mean when I bring back phy-handle with a proper fix to handle the case in the commit text? Yeah, that's going to take a while. It's brewing in my head and there are some issues that's not fully resolved. But I haven't had time to code it up or dig into the net code to make sure it'll work. But yes, I'll CC you when I do so you can test it with this case. -Saravana > > Rob can you send this to Linus quickly so we can have it in net/master > soon thereafter? Thanks a lot! > > [ 3.577221] unimac-mdio f0b403c0.mdio: Broadcom UniMAC MDIO bus > [ 4.480608] sda: sda1 sda2 sda3 sda4 > [ 4.486248] sd 0:0:0:0: [sda] Attached SCSI disk > [ 25.492127] rcu: INFO: rcu_sched self-detected stall on CPU > [ 25.497722] rcu: 2-....: (21000 ticks this GP) > idle=3e2/1/0x40000002 softirq=292/292 fqs=5240 > [ 25.506448] (t=21015 jiffies g=-395 q=69) > [ 25.510560] NMI backtrace for cpu 2 > [ 25.514062] CPU: 2 PID: 1 Comm: swapper/0 Not tainted > 5.14.0-rc1-gcf4b94c8530d #100 > [ 25.521739] Hardware name: Broadcom STB (Flattened Device Tree) > [ 25.527672] Backtrace: > [ 25.530131] [<c0cba30c>] (dump_backtrace) from [<c0cba5bc>] > (show_stack+0x20/0x24) > [ 25.537741] r7:c0e021cc r6:00000002 r5:c0f71914 r4:60000193 > [ 25.543412] [<c0cba59c>] (show_stack) from [<c0cbf5f4>] > (dump_stack_lvl+0x48/0x54) > [ 25.551009] [<c0cbf5ac>] (dump_stack_lvl) from [<c0cbf618>] > (dump_stack+0x18/0x1c) > [ 25.558602] r5:00000000 r4:00000002 > [ 25.562187] [<c0cbf600>] (dump_stack) from [<c06bf89c>] > (nmi_cpu_backtrace+0xc8/0xf4) > [ 25.570045] [<c06bf7d4>] (nmi_cpu_backtrace) from [<c06bf9f0>] > (nmi_trigger_cpumask_backtrace+0x128/0x140) > [ 25.579729] r5:c22056e0 r4:c020ff84 > [ 25.583313] [<c06bf8c8>] (nmi_trigger_cpumask_backtrace) from > [<c02111c0>] (arch_trigger_cpumask_backtrace+0x20/0x24) > [ 25.593957] r7:00000002 r6:c230e186 r5:c2204e0c r4:c2249d00 > [ 25.599629] [<c02111a0>] (arch_trigger_cpumask_backtrace) from > [<c0cbbf00>] (rcu_dump_cpu_stacks+0x14c/0x17c) > [ 25.609573] [<c0cbbdb4>] (rcu_dump_cpu_stacks) from [<c02a3adc>] > (rcu_sched_clock_irq+0x708/0xa80) > [ 25.618562] r10:2df0b000 r9:00000000 r8:c2203d00 r7:c20bbfc0 > r6:c230eec0 r5:effc6fc0 > [ 25.626411] r4:c2249d00 > [ 25.628950] [<c02a33d4>] (rcu_sched_clock_irq) from [<c02b15e8>] > (update_process_times+0xb0/0xdc) > [ 25.637852] r10:c02c5bf4 r9:effc08c0 r8:effc0880 r7:00000005 > r6:00000000 r5:c2203d00 > [ 25.645700] r4:effbf580 > [ 25.648239] [<c02b1538>] (update_process_times) from [<c02c5878>] > (tick_sched_handle+0x64/0x68) > [ 25.656967] r7:00000005 r6:eef70001 r5:c2573bb8 r4:effc0be8 > [ 25.662638] [<c02c5814>] (tick_sched_handle) from [<c02c5c50>] > (tick_sched_timer+0x5c/0xb8) > [ 25.671015] [<c02c5bf4>] (tick_sched_timer) from [<c02b2544>] > (__hrtimer_run_queues+0x1bc/0x35c) > [ 25.679829] r7:c230f280 r6:c230f2a0 r5:effc0880 r4:effc0be8 > [ 25.685501] [<c02b2388>] (__hrtimer_run_queues) from [<c02b3308>] > (hrtimer_interrupt+0x130/0x2b8) > [ 25.694400] r10:effc09d0 r9:effc0a00 r8:ffffffff r7:7fffffff > r6:00000003 r5:20000193 > [ 25.702247] r4:effc0880 > [ 25.704786] [<c02b31d8>] (hrtimer_interrupt) from [<c0a08884>] > (arch_timer_handler_phys+0x38/0x40) > [ 25.713779] r10:c0fd74f8 r9:c20ba51c r8:c2573bb8 r7:00000024 > r6:c251d940 r5:c22056fc > [ 25.721625] r4:c2520c00 > [ 25.724167] [<c0a0884c>] (arch_timer_handler_phys) from [<c028d760>] > (handle_percpu_devid_irq+0x9c/0x214) > [ 25.733763] [<c028d6c4>] (handle_percpu_devid_irq) from [<c0287074>] > (handle_domain_irq+0x6c/0x88) > [ 25.742754] r7:0000001e r6:00000000 r5:00000000 r4:c20ba510 > [ 25.748425] [<c0287008>] (handle_domain_irq) from [<c02012cc>] > (gic_handle_irq+0x8c/0xa0) > [ 25.756632] r7:f080200c r6:f0802000 r5:c22b8bd4 r4:c22056fc > [ 25.762304] [<c0201240>] (gic_handle_irq) from [<c0200b38>] > (__irq_svc+0x58/0x74) > [ 25.769809] Exception stack(0xc2573bb8 to 0xc2573c00) > [ 25.774874] 3ba0: > c22c268c 00000000 > [ 25.783072] 3bc0: 00000000 c25b8000 c43f2400 00000000 c22d083c > c2204d08 c4530578 efff4160 > [ 25.791269] 3be0: c0fd74f8 c2573c14 c2573c18 c2573c08 c07b0fe8 > c0ccd024 60000013 ffffffff > [ 25.799467] r9:c2572000 r8:c4530578 r7:c2573bec r6:ffffffff > r5:60000013 r4:c0ccd024 > [ 25.807226] [<c0cccfe4>] (mutex_lock) from [<c07b0fe8>] > (device_links_busy+0x20/0x90) > [ 25.815085] [<c07b0fc8>] (device_links_busy) from [<c07b6990>] > (device_release_driver_internal+0x94/0x1c8) > [ 25.824767] r5:00000000 r4:c43f2400 > [ 25.828352] [<c07b68fc>] (device_release_driver_internal) from > [<c07b6ae4>] (device_release_driver+0x20/0x24) > [ 25.838295] r7:c2204d08 r6:c22cd174 r5:c43f2400 r4:c2e7f030 > [ 25.843967] [<c07b6ac4>] (device_release_driver) from [<c07b4bac>] > (bus_remove_device+0xf0/0x148) > [ 25.852866] [<c07b4abc>] (bus_remove_device) from [<c07af544>] > (device_del+0x18c/0x3f8) > [ 25.860895] r7:c2204d08 r6:c2573d20 r5:c43f2444 r4:c43f2400 > [ 25.866566] [<c07af3b8>] (device_del) from [<c0899dec>] > (phy_device_remove+0x1c/0x34) > [ 25.874422] r10:c0fd74f8 r9:efff4160 r8:c2204d08 r7:c2cb1240 > r6:c2573d20 r5:efff43c0 > [ 25.882268] r4:c43f2400 > [ 25.884810] [<c0899dd0>] (phy_device_remove) from [<c08a4014>] > (bcm_sf2_sw_probe+0x640/0x900) > [ 25.893363] r5:efff43c0 r4:c2cb1240 > [ 25.896947] [<c08a39d4>] (bcm_sf2_sw_probe) from [<c07b8e44>] > (platform_probe+0x6c/0xc8) > [ 25.905069] r10:c2331000 r9:c1253854 r8:00000000 r7:c22d0aa8 > r6:c22d0aa8 r5:00000000 > [ 25.912917] r4:c25eb010 > [ 25.915457] [<c07b8dd8>] (platform_probe) from [<c07b5ca8>] > (really_probe+0xe8/0x45c) > [ 25.923314] r7:c22d0aa8 r6:c231d168 r5:00000000 r4:c25eb010 > [ 25.928985] [<c07b5bc0>] (really_probe) from [<c07b60cc>] > (__driver_probe_device+0xb0/0x230) > [ 25.937451] r7:c231d168 r6:c22d0aa8 r5:c22d0aa8 r4:c25eb010 > [ 25.943123] [<c07b601c>] (__driver_probe_device) from [<c07b6290>] > (driver_probe_device+0x44/0xd4) > [ 25.952111] r9:c1253854 r8:00000000 r7:c25eb010 r6:c22d0aa8 > r5:c236c21c r4:c236c218 > [ 25.959871] [<c07b624c>] (driver_probe_device) from [<c07b6830>] > (__driver_attach+0xdc/0x188) > [ 25.968424] r9:c1253854 r8:ffffe000 r7:c07b6754 r6:c22d0aa8 > r5:00000000 r4:c25eb010 > [ 25.976183] [<c07b6754>] (__driver_attach) from [<c07b3a68>] > (bus_for_each_dev+0x84/0xc4) > [ 25.984387] r7:c07b6754 r6:c22d0aa8 r5:c2204d08 r4:c2e4d4b4 > [ 25.990059] [<c07b39e4>] (bus_for_each_dev) from [<c07b5510>] > (driver_attach+0x2c/0x30) > [ 25.998088] r7:00000000 r6:c2780a00 r5:c22c2a68 r4:c22d0aa8 > [ 26.003759] [<c07b54e4>] (driver_attach) from [<c07b4dd4>] > (bus_add_driver+0x1d0/0x210) > [ 26.011787] [<c07b4c04>] (bus_add_driver) from [<c07b739c>] > (driver_register+0x84/0x118) > [ 26.019904] r7:00000000 r6:c122ae8c r5:c2204d08 r4:c22d0aa8 > [ 26.025574] [<c07b7318>] (driver_register) from [<c07b8a90>] > (__platform_driver_register+0x2c/0x34) > [ 26.034648] r5:c2204d08 r4:c230e780 > [ 26.038232] [<c07b8a64>] (__platform_driver_register) from > [<c122aeb0>] (bcm_sf2_driver_init+0x24/0x28) > [ 26.047655] [<c122ae8c>] (bcm_sf2_driver_init) from [<c0202180>] > (do_one_initcall+0x64/0x254) > [ 26.056206] [<c020211c>] (do_one_initcall) from [<c12014f4>] > (kernel_init_freeable+0x1e0/0x238) > [ 26.064935] r8:00000007 r7:c26f4900 r6:c1253834 r5:00000119 r4:c1289ab8 > [ 26.071650] [<c1201314>] (kernel_init_freeable) from [<c0cc7918>] > (kernel_init+0x20/0x138) > [ 26.079946] r10:00000000 r9:00000000 r8:00000000 r7:00000000 > r6:00000000 r5:c0cc78f8 > [ 26.087794] r4:00000000 > [ 26.090334] [<c0cc78f8>] (kernel_init) from [<c0200140>] > (ret_from_fork+0x14/0x34) > [ 26.097927] Exception stack(0xc2573fb0 to 0xc2573ff8) > [ 26.102992] 3fa0: 00000000 > 00000000 00000000 00000000 > [ 26.111188] 3fc0: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 26.119385] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > [ 26.126013] r5:c0cc78f8 r4:00000000 > [ 88.495125] rcu: INFO: rcu_sched self-detected stall on CPU > [ 88.500716] rcu: 2-....: (83367 ticks this GP) > idle=3e2/1/0x40000002 softirq=292/292 fqs=20831 > [ 88.509526] (t=84018 jiffies g=-395 q=69) > [ 88.513637] NMI backtrace for cpu 2 > [ 88.517136] CPU: 2 PID: 1 Comm: swapper/0 Not tainted > 5.14.0-rc1-gcf4b94c8530d #100 > [ 88.524812] Hardware name: Broadcom STB (Flattened Device Tree) > [ 88.530745] Backtrace: > [ 88.533203] [<c0cba30c>] (dump_backtrace) from [<c0cba5bc>] > (show_stack+0x20/0x24) > [ 88.540803] r7:c0e021cc r6:00000002 r5:c0f71914 r4:60000193 > [ 88.546475] [<c0cba59c>] (show_stack) from [<c0cbf5f4>] > (dump_stack_lvl+0x48/0x54) > [ 88.554069] [<c0cbf5ac>] (dump_stack_lvl) from [<c0cbf618>] > (dump_stack+0x18/0x1c) > [ 88.561662] r5:00000000 r4:00000002 > [ 88.565246] [<c0cbf600>] (dump_stack) from [<c06bf89c>] > (nmi_cpu_backtrace+0xc8/0xf4) > [ 88.573100] [<c06bf7d4>] (nmi_cpu_backtrace) from [<c06bf9f0>] > (nmi_trigger_cpumask_backtrace+0x128/0x140) > [ 88.582782] r5:c22056e0 r4:c020ff84 > [ 88.586367] [<c06bf8c8>] (nmi_trigger_cpumask_backtrace) from > [<c02111c0>] (arch_trigger_cpumask_backtrace+0x20/0x24) > [ 88.597007] r7:00000002 r6:c230e186 r5:c2204e0c r4:c2249d00 > [ 88.602679] [<c02111a0>] (arch_trigger_cpumask_backtrace) from > [<c0cbbf00>] (rcu_dump_cpu_stacks+0x14c/0x17c) > [ 88.612622] [<c0cbbdb4>] (rcu_dump_cpu_stacks) from [<c02a3adc>] > (rcu_sched_clock_irq+0x708/0xa80) > [ 88.621610] r10:2df0b000 r9:00000000 r8:c2203d00 r7:c20bbfc0 > r6:c230eec0 r5:effc6fc0 > [ 88.629456] r4:c2249d00 > [ 88.631995] [<c02a33d4>] (rcu_sched_clock_irq) from [<c02b15e8>] > (update_process_times+0xb0/0xdc) > [ 88.640894] r10:c02c5bf4 r9:effc08c0 r8:effc0880 r7:00000014 > r6:00000000 r5:c2203d00 > [ 88.648742] r4:effbf580 > [ 88.651283] [<c02b1538>] (update_process_times) from [<c02c5878>] > (tick_sched_handle+0x64/0x68) > [ 88.660009] r7:00000014 r6:9a3c7c9b r5:c2573ba8 r4:effc0be8 > [ 88.665680] [<c02c5814>] (tick_sched_handle) from [<c02c5c50>] > (tick_sched_timer+0x5c/0xb8) > [ 88.674057] [<c02c5bf4>] (tick_sched_timer) from [<c02b2544>] > (__hrtimer_run_queues+0x1bc/0x35c) > [ 88.682870] r7:c230f280 r6:c230f2a0 r5:effc0880 r4:effc0be8 > [ 88.688540] [<c02b2388>] (__hrtimer_run_queues) from [<c02b3308>] > (hrtimer_interrupt+0x130/0x2b8) > [ 88.697439] r10:effc09d0 r9:effc0a00 r8:ffffffff r7:7fffffff > r6:00000003 r5:20000193 > [ 88.705285] r4:effc0880 > [ 88.707826] [<c02b31d8>] (hrtimer_interrupt) from [<c0a08884>] > (arch_timer_handler_phys+0x38/0x40) > [ 88.716815] r10:c0fd74f8 r9:c20ba51c r8:c2573ba8 r7:00000024 > r6:c251d940 r5:c22056fc > [ 88.724662] r4:c2520c00 > [ 88.727201] [<c0a0884c>] (arch_timer_handler_phys) from [<c028d760>] > (handle_percpu_devid_irq+0x9c/0x214) > [ 88.736797] [<c028d6c4>] (handle_percpu_devid_irq) from [<c0287074>] > (handle_domain_irq+0x6c/0x88) > [ 88.745785] r7:0000001e r6:00000000 r5:00000000 r4:c20ba510 > [ 88.751455] [<c0287008>] (handle_domain_irq) from [<c02012cc>] > (gic_handle_irq+0x8c/0xa0) > [ 88.759659] r7:f080200c r6:f0802000 r5:c22b8bd4 r4:c22056fc > [ 88.765330] [<c0201240>] (gic_handle_irq) from [<c0200b38>] > (__irq_svc+0x58/0x74) > [ 88.772835] Exception stack(0xc2573ba8 to 0xc2573bf0) > [ 88.777900] 3ba0: c22c268c 00000000 00000000 > c25b8000 c43f2460 00000004 > [ 88.786097] 3bc0: c22c268c c43f2400 c4530578 efff4160 c0fd74f8 > c2573c04 c2573c08 c2573bf8 > [ 88.794293] 3be0: c07b10d4 c0ccbe44 60000013 ffffffff > [ 88.799358] r9:c2572000 r8:c4530578 r7:c2573bdc r6:ffffffff > r5:60000013 r4:c0ccbe44 > [ 88.807116] [<c0ccbe14>] (mutex_unlock) from [<c07b10d4>] > (device_links_unbind_consumers+0x7c/0xe8) > [ 88.816187] [<c07b1058>] (device_links_unbind_consumers) from > [<c07b6970>] (device_release_driver_internal+0x74/0x1c8) > [ 88.826914] r9:efff4160 r8:c4530578 r7:c2204d08 r6:c22d083c > r5:00000000 r4:c43f2400 > [ 88.834672] [<c07b68fc>] (device_release_driver_internal) from > [<c07b6ae4>] (device_release_driver+0x20/0x24) > [ 88.844617] r7:c2204d08 r6:c22cd174 r5:c43f2400 r4:c2e7f030 > [ 88.850287] [<c07b6ac4>] (device_release_driver) from [<c07b4bac>] > (bus_remove_device+0xf0/0x148) > [ 88.859186] [<c07b4abc>] (bus_remove_device) from [<c07af544>] > (device_del+0x18c/0x3f8) > [ 88.867214] r7:c2204d08 r6:c2573d20 r5:c43f2444 r4:c43f2400 > [ 88.872884] [<c07af3b8>] (device_del) from [<c0899dec>] > (phy_device_remove+0x1c/0x34) > [ 88.880739] r10:c0fd74f8 r9:efff4160 r8:c2204d08 r7:c2cb1240 > r6:c2573d20 r5:efff43c0 > [ 88.888585] r4:c43f2400 > [ 88.891124] [<c0899dd0>] (phy_device_remove) from [<c08a4014>] > (bcm_sf2_sw_probe+0x640/0x900) > [ 88.899677] r5:efff43c0 r4:c2cb1240 > [ 88.903261] [<c08a39d4>] (bcm_sf2_sw_probe) from [<c07b8e44>] > (platform_probe+0x6c/0xc8) > [ 88.911381] r10:c2331000 r9:c1253854 r8:00000000 r7:c22d0aa8 > r6:c22d0aa8 r5:00000000 > [ 88.919228] r4:c25eb010 > [ 88.921767] [<c07b8dd8>] (platform_probe) from [<c07b5ca8>] > (really_probe+0xe8/0x45c) > [ 88.929625] r7:c22d0aa8 r6:c231d168 r5:00000000 r4:c25eb010 > [ 88.935297] [<c07b5bc0>] (really_probe) from [<c07b60cc>] > (__driver_probe_device+0xb0/0x230) > [ 88.943761] r7:c231d168 r6:c22d0aa8 r5:c22d0aa8 r4:c25eb010 > [ 88.949431] [<c07b601c>] (__driver_probe_device) from [<c07b6290>] > (driver_probe_device+0x44/0xd4) > [ 88.958419] r9:c1253854 r8:00000000 r7:c25eb010 r6:c22d0aa8 > r5:c236c21c r4:c236c218 > [ 88.966177] [<c07b624c>] (driver_probe_device) from [<c07b6830>] > (__driver_attach+0xdc/0x188) > [ 88.974730] r9:c1253854 r8:ffffe000 r7:c07b6754 r6:c22d0aa8 > r5:00000000 r4:c25eb010 > [ 88.982489] [<c07b6754>] (__driver_attach) from [<c07b3a68>] > (bus_for_each_dev+0x84/0xc4) > [ 88.990694] r7:c07b6754 r6:c22d0aa8 r5:c2204d08 r4:c2e4d4b4 > [ 88.996365] [<c07b39e4>] (bus_for_each_dev) from [<c07b5510>] > (driver_attach+0x2c/0x30) > [ 89.004394] r7:00000000 r6:c2780a00 r5:c22c2a68 r4:c22d0aa8 > [ 89.010065] [<c07b54e4>] (driver_attach) from [<c07b4dd4>] > (bus_add_driver+0x1d0/0x210) > [ 89.018093] [<c07b4c04>] (bus_add_driver) from [<c07b739c>] > (driver_register+0x84/0x118) > [ 89.026209] r7:00000000 r6:c122ae8c r5:c2204d08 r4:c22d0aa8 > [ 89.031880] [<c07b7318>] (driver_register) from [<c07b8a90>] > (__platform_driver_register+0x2c/0x34) > [ 89.040954] r5:c2204d08 r4:c230e780 > [ 89.044538] [<c07b8a64>] (__platform_driver_register) from > [<c122aeb0>] (bcm_sf2_driver_init+0x24/0x28) > [ 89.053959] [<c122ae8c>] (bcm_sf2_driver_init) from [<c0202180>] > (do_one_initcall+0x64/0x254) > [ 89.062509] [<c020211c>] (do_one_initcall) from [<c12014f4>] > (kernel_init_freeable+0x1e0/0x238) > [ 89.071237] r8:00000007 r7:c26f4900 r6:c1253834 r5:00000119 r4:c1289ab8 > [ 89.077951] [<c1201314>] (kernel_init_freeable) from [<c0cc7918>] > (kernel_init+0x20/0x138) > [ 89.086246] r10:00000000 r9:00000000 r8:00000000 r7:00000000 > r6:00000000 r5:c0cc78f8 > [ 89.094093] r4:00000000 > [ 89.096633] [<c0cc78f8>] (kernel_init) from [<c0200140>] > (ret_from_fork+0x14/0x34) > [ 89.104226] Exception stack(0xc2573fb0 to 0xc2573ff8) > [ 89.109291] 3fa0: 00000000 > 00000000 00000000 00000000 > [ 89.117487] 3fc0: 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 89.125682] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > [ 89.132311] r5:c0cc78f8 r4:00000000 > > -- > Florian