Hi Andrew, >I think this is a problem with the macb driver. To me, it looks like you are >going to have to >make some changes to the driver to make this work. Normally >the MDIO bus children are >placed within a container node, often called >'mdio-bus' or simply 'mdio'. See for example >>Documentation/devicetree/bindings/net/fsl-fec.txt. The macb driver does not >do this. It >passed the main DT node of the device to of_mdiobus_register(). >It then walks all the >children assuming they devices on the MDIO bus. But the >first child it finds is the 'fixed-link'. >This is not supposed to be a child >of the bus, which is why it goes wrong.
As you understand, I prefer not to change the driver. Is there a way for me to bypass this issue? Can I use other property than 'fixed-link'? >Please include the full panic details. The stack trace can be very useful. Please, see below: You also asked for the linux log of your suggested dts: libphy: Fixed MDIO Bus: probed CAN device driver interface libphy: MACB_mii_bus: probed mdio_bus e000b000.ethernet-ffffffff: /amba/ethernet@e000b000/fixed-link has invalid PHY address mv88e6085 e000b000.ethernet-ffffffff:1d: switch 0xa10 detected: Marvell 88E6390X, revision 1 libphy: mv88e6xxx SMI: probed mv88e6085 e000b000.ethernet-ffffffff:1c: switch 0xa10 detected: Marvell 88E6390X, revision 1 libphy: mv88e6xxx SMI: probed mv88e6085: probe of e000b000.ethernet-ffffffff:1c failed with error -16 mdio_bus e000b000.ethernet-ffffffff: scan phy fixed-link at address 1 Unable to handle kernel NULL pointer dereference at virtual address 00000004 pgd = c0004000 [00000004] *pgd=00000000 Internal error: Oops - BUG: 17 [#1] PREEMPT SMP ARM Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.14.0-xilinx #15 Hardware name: Xilinx Zynq Platform task: df43b840 task.stack: df43c000 PC is at dsa_unregister_switch+0x10/0x48 LR is at dsa_unregister_switch+0x10/0x48 pc : [<c05aad48>] lr : [<c05aad48>] psr: 60000013 sp : df43dd58 ip : 00000000 fp : 00000000 r10: 00000000 r9 : dd009c78 r8 : 00000034 r7 : dd0d1434 r6 : c091dd68 r5 : 00000000 r4 : dd0d1210 r3 : df43b840 r2 : 00000000 r1 : 00000000 r0 : c0936cdc Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none Control: 18c5387d Table: 1f65c04a DAC: 00000051 Process swapper/0 (pid: 1, stack limit = 0xdf43c210) Stack: (0xdf43dd58 to 0xdf43e000) dd40: dd0d1210 00000000 dd60: c091dd68 c0418ac0 dd0d1400 00000000 c091dd68 c04127ac dd0d1400 c03b72b8 dd80: dd0d1400 df4ff530 c091c448 dd0d1460 dfbeb3c4 c03b6420 dd0d1400 dd0d145c dda0: dd009c78 c03b3acc dd009e8c a0000013 dd1d2800 dd009e80 dd009e8c dd0d1400 ddc0: dd0d1400 dd009e84 dd009e8c c0412868 dd009c00 c0412624 ffffffed 00000001 dde0: dd009c00 dfbeb67c dfbeb3c4 c04bafac 00000000 c04b378c dfbecb5c 0000001c de00: c06ffa6d df77f000 df77c000 df77c4c0 dfbeb3c4 df524a10 00000000 c0423104 de20: ffffffff df43de5c 00000001 c0229cd4 dfbeb3c4 c0421054 00000001 00000002 de40: 00000001 00000001 dd1c8898 dd1c9cc0 dd1c9c40 dd1c9bc0 00000000 00000000 de60: 00000001 00000001 c091ddc8 c0422974 df524a10 c091ddc8 00000000 00000000 de80: c091ddc8 00000000 00000000 c03b84d4 df524a10 c09523dc c09523e0 c03b6e84 dea0: df524a10 df524a44 c091ddc8 c0918a28 00000000 c0938000 c083383c c03b7080 dec0: 00000000 c091ddc8 c03b7000 c03b5790 df472f58 df4edb34 c091ddc8 00000000 dee0: dd1c5300 c03b64f8 c06ff8d2 c06ff8d3 00000000 c091ddc8 c081aea4 000000a8 df00: c083be5c c03b7808 00000006 c081aea4 000000a8 c0101900 00000000 df43df24 df20: 00000000 00000000 00000000 c075d548 000000a8 00000006 00000006 00000000 df40: cccccccd 00000000 00000000 c0938000 c083383c 00000006 c0833830 000000a8 df60: 00000006 c0833834 000000a8 c083be5c c0938000 c0800d40 00000006 00000006 df80: 00000000 c0800594 00000000 c05e1e64 00000000 00000000 00000000 00000000 dfa0: 00000000 c05e1e6c 00000000 c0106fd0 00000000 00000000 00000000 00000000 dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 [<c05aad48>] (dsa_unregister_switch) from [<c0418ac0>] (mv88e6xxx_remove+0x1c/0x68) [<c0418ac0>] (mv88e6xxx_remove) from [<c04127ac>] (mdio_remove+0x18/0x28) [<c04127ac>] (mdio_remove) from [<c03b72b8>] (device_release_driver_internal+0x128/0x1d0) [<c03b72b8>] (device_release_driver_internal) from [<c03b6420>] (bus_remove_device+0xcc/0xdc) [<c03b6420>] (bus_remove_device) from [<c03b3acc>] (device_del+0x1bc/0x258) [<c03b3acc>] (device_del) from [<c0412868>] (mdio_device_remove+0xc/0x18) [<c0412868>] (mdio_device_remove) from [<c0412624>] (mdiobus_unregister+0x40/0x74) [<c0412624>] (mdiobus_unregister) from [<c04bafac>] (of_mdiobus_register+0x234/0x254) [<c04bafac>] (of_mdiobus_register) from [<c0423104>] (macb_probe+0x790/0xb88) [<c0423104>] (macb_probe) from [<c03b84d4>] (platform_drv_probe+0x50/0xa0) [<c03b84d4>] (platform_drv_probe) from [<c03b6e84>] (driver_probe_device+0x13c/0x2b8) [<c03b6e84>] (driver_probe_device) from [<c03b7080>] (__driver_attach+0x80/0xa4) [<c03b7080>] (__driver_attach) from [<c03b5790>] (bus_for_each_dev+0x68/0x8c) [<c03b5790>] (bus_for_each_dev) from [<c03b64f8>] (bus_add_driver+0xc8/0x1dc) [<c03b64f8>] (bus_add_driver) from [<c03b7808>] (driver_register+0x9c/0xe0) [<c03b7808>] (driver_register) from [<c0101900>] (do_one_initcall+0xa8/0x11c) [<c0101900>] (do_one_initcall) from [<c0800d40>] (kernel_init_freeable+0x10c/0x1cc) [<c0800d40>] (kernel_init_freeable) from [<c05e1e6c>] (kernel_init+0x8/0x10c) [<c05e1e6c>] (kernel_init) from [<c0106fd0>] (ret_from_fork+0x14/0x24) Code: e92d4070 e1a05000 e59f0034 eb00ea7e (e5954004) ---[ end trace f6d20ab8f9ad8edb ]--- Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b CPU0: stopping CPU: 0 PID: 0 Comm: swapper/0 Tainted: G D 4.14.0-xilinx #15 Hardware name: Xilinx Zynq Platform [<c010e7b4>] (unwind_backtrace) from [<c010a9b0>] (show_stack+0x10/0x14) [<c010a9b0>] (show_stack) from [<c05d1950>] (dump_stack+0x80/0xa0) [<c05d1950>] (dump_stack) from [<c010cf20>] (ipi_cpu_stop+0x3c/0x70) [<c010cf20>] (ipi_cpu_stop) from [<c010d720>] (handle_IPI+0x64/0x84) [<c010d720>] (handle_IPI) from [<c01013f8>] (gic_handle_irq+0x7c/0x98) [<c01013f8>] (gic_handle_irq) from [<c010b40c>] (__irq_svc+0x6c/0xa8) Exception stack(0xc0901f48 to 0xc0901f90) 1f40: 00000001 00000000 00000000 c0116800 00000000 00000000 1f60: c0900000 c08441f8 c0901fa0 c0833a30 00000000 00000000 1f388000 c0901f98 1f80: c01079e0 c01079e4 60000013 ffffffff [<c010b40c>] (__irq_svc) from [<c01079e4>] (arch_cpu_idle+0x2c/0x38) [<c01079e4>] (arch_cpu_idle) from [<c01490fc>] (do_idle+0xd0/0x198) [<c01490fc>] (do_idle) from [<c01492fc>] (cpu_startup_entry+0x18/0x1c) [<c01492fc>] (cpu_startup_entry) from [<c0800bd4>] (start_kernel+0x308/0x368) [<c0800bd4>] (start_kernel) from [<0000807c>] (0x807c) ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b BR, Michael *********************************************************************************************** Please consider the environment before printing this email ! The information contained in this communication is proprietary to Israel Aerospace Industries Ltd. and/or third parties, may contain confidential or privileged information, and is intended only for the use of the intended addressee thereof. If you are not the intended addressee, please be aware that any use, disclosure, distribution and/or copying of this communication is strictly prohibited. If you receive this communication in error, please notify the sender immediately and delete it from your computer. Thank you. Visit us at: www.iai.co.il