Hi folks, I am working on kernel upgrade on our imx6dl-yapp4 platform and just realized that since v5.9 networking is broken. Git bisect brought me to commit b3591c2a3661 ("net: dsa: qca8k: Switch to PHYLINK instead of PHYLIB")
Kernel v5.8 NFS boot without the offending commit: qca8k 2188000.ethernet-1:0a: Using legacy PHYLIB callbacks. Please migrate to PHYLINK! qca8k 2188000.ethernet-1:0a: nonfatal error -95 setting MTU on port 2 qca8k 2188000.ethernet-1:0a eth2 (uninitialized): PHY [2188000.ethernet-1:01] driver [Generic PHY] (irq=POLL) qca8k 2188000.ethernet-1:0a: nonfatal error -95 setting MTU on port 3 qca8k 2188000.ethernet-1:0a eth1 (uninitialized): PHY [2188000.ethernet-1:02] driver [Generic PHY] (irq=POLL) eth0: mtu greater than device maximum fec 2188000.ethernet eth0: error -22 setting MTU to include DSA overhead DSA: tree 0 setup Generic PHY fixed-0:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=fixed-0:00, irq=POLL) fec 2188000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off qca8k 2188000.ethernet-1:0a eth2: configuring for phy/ link mode qca8k 2188000.ethernet-1:0a eth2: Link is Up - 1Gbps/Full - flow control rx/tx IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready Sending DHCP requests ., OK Kernel v5.9 and newer with that commit: qca8k 2188000.ethernet-1:0a: configuring for fixed/rgmii-id link mode qca8k 2188000.ethernet-1:0a eth2 (uninitialized): PHY [2188000.ethernet-1:01] driver [Generic PHY] (irq=POLL) qca8k 2188000.ethernet-1:0a eth1 (uninitialized): PHY [2188000.ethernet-1:02] driver [Generic PHY] (irq=POLL) DSA: tree 0 setup qca8k 2188000.ethernet-1:0a: Link is Up - 1Gbps/Full - flow control off fec 2188000.ethernet eth0: Unable to connect to phy IP-Config: Failed to open eth0 IP-Config: Failed to open eth2 IP-Config: Device `eth2' not found Manual attempt to bring the interface up: # ifconfig eth0 up fec 2188000.ethernet eth0: Unable to connect to phy ifconfig: SIOCSIFFLAGS: No such device I have no clue what could be wrong. Maybe this change revealed that our DT configuration [1] is not correct? Or after this change the driver does not handle the rgmii-id configuration properly? Or something else.. Any ideas how to further debug the problem? Thank you in advance, Michal [1] https://elixir.bootlin.com/linux/v5.12-rc7/source/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi#L101