[PATCH net-next v2 4/6] net: phylink: unset ovr_an_inband if fixed-link is selected

From: Ong Boon Leong
Date: Thu Jun 09 2022 - 23:35:07 EST


If "fixed-link" DT or ACPI _DSD subnode is selected, it should take
precedence over the value of ovr_an_inband passed by MAC driver.

Fixes: ab39385021d1 ("net: phylink: make phylink_parse_mode() support non-DT platform")
Tested-by: Emilio Riva <emilio.riva@xxxxxxxxxxxx>
Signed-off-by: Ong Boon Leong <boon.leong.ong@xxxxxxxxx>
---
drivers/net/phy/phylink.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
index 066684b8091..566852815e0 100644
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -609,8 +609,10 @@ static int phylink_parse_mode(struct phylink *pl, struct fwnode_handle *fwnode)
const char *managed;

dn = fwnode_get_named_child_node(fwnode, "fixed-link");
- if (dn || fwnode_property_present(fwnode, "fixed-link"))
+ if (dn || fwnode_property_present(fwnode, "fixed-link")) {
pl->cfg_link_an_mode = MLO_AN_FIXED;
+ pl->config->ovr_an_inband = false;
+ }
fwnode_handle_put(dn);

if ((fwnode_property_read_string(fwnode, "managed", &managed) == 0 &&
--
2.25.1