At the moment, if devm_of_phy_get() returns an error the serdes
simply isn't set. While it is bad to ignore an error in general, there
is a particular bug that network isn't working if the serdes driver is
compiled as a module. In that case, devm_of_phy_get() returns
-EDEFER_PROBE and the error is silently ignored.
The serdes is optional, it is not there if the port is using RGMII, in
which case devm_of_phy_get() returns -ENODEV. Rearrange the error
handling so that -ENODEV will be handled but other error codes will
abort the probing.
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
lan966x_ethtool.c | ||
lan966x_fdb.c | ||
lan966x_fdma.c | ||
lan966x_ifh.h | ||
lan966x_mac.c | ||
lan966x_main.c | ||
lan966x_main.h | ||
lan966x_mdb.c | ||
lan966x_phylink.c | ||
lan966x_port.c | ||
lan966x_ptp.c | ||
lan966x_regs.h | ||
lan966x_switchdev.c | ||
lan966x_vlan.c | ||
Makefile |