aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa/qca8k.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/dsa/qca8k.c')
-rw-r--r--drivers/net/dsa/qca8k.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
index 232e8cc96f6d..16f15c93a102 100644
--- a/drivers/net/dsa/qca8k.c
+++ b/drivers/net/dsa/qca8k.c
@@ -2,7 +2,7 @@
2/* 2/*
3 * Copyright (C) 2009 Felix Fietkau <nbd@nbd.name> 3 * Copyright (C) 2009 Felix Fietkau <nbd@nbd.name>
4 * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org> 4 * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
5 * Copyright (c) 2015, The Linux Foundation. All rights reserved. 5 * Copyright (c) 2015, 2019, The Linux Foundation. All rights reserved.
6 * Copyright (c) 2016 John Crispin <john@phrozen.org> 6 * Copyright (c) 2016 John Crispin <john@phrozen.org>
7 */ 7 */
8 8
@@ -583,8 +583,11 @@ qca8k_setup_mdio_bus(struct qca8k_priv *priv)
583 583
584 for_each_available_child_of_node(ports, port) { 584 for_each_available_child_of_node(ports, port) {
585 err = of_property_read_u32(port, "reg", &reg); 585 err = of_property_read_u32(port, "reg", &reg);
586 if (err) 586 if (err) {
587 of_node_put(port);
588 of_node_put(ports);
587 return err; 589 return err;
590 }
588 591
589 if (!dsa_is_user_port(priv->ds, reg)) 592 if (!dsa_is_user_port(priv->ds, reg))
590 continue; 593 continue;
@@ -595,6 +598,7 @@ qca8k_setup_mdio_bus(struct qca8k_priv *priv)
595 internal_mdio_mask |= BIT(reg); 598 internal_mdio_mask |= BIT(reg);
596 } 599 }
597 600
601 of_node_put(ports);
598 if (!external_mdio_mask && !internal_mdio_mask) { 602 if (!external_mdio_mask && !internal_mdio_mask) {
599 dev_err(priv->dev, "no PHYs are defined.\n"); 603 dev_err(priv->dev, "no PHYs are defined.\n");
600 return -EINVAL; 604 return -EINVAL;
@@ -935,6 +939,8 @@ qca8k_port_enable(struct dsa_switch *ds, int port,
935 qca8k_port_set_status(priv, port, 1); 939 qca8k_port_set_status(priv, port, 1);
936 priv->port_sts[port].enabled = 1; 940 priv->port_sts[port].enabled = 1;
937 941
942 phy_support_asym_pause(phy);
943
938 return 0; 944 return 0;
939} 945}
940 946