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

Reply via email to