summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/ti/cpsw.h
diff options
context:
space:
mode:
authorDavid Rivshin <drivshin@allworx.com>2016-04-28 04:25:25 +0300
committerDavid S. Miller <davem@davemloft.net>2016-04-29 00:27:29 +0300
commit552165bcf7060b998b4a9b5b86110b6a5e04dfd9 (patch)
tree06f54489122fed2183bffcff17c9e2327210b24f /drivers/net/ethernet/ti/cpsw.h
parentbbdd09ebd7ce87d2122fcc7d97f35a4f8931bc55 (diff)
downloadlinux-552165bcf7060b998b4a9b5b86110b6a5e04dfd9.tar.xz
drivers: net: cpsw: fix parsing of phy-handle DT property in dual_emac config
Commit 9e42f715264ff158478fa30eaed847f6e131366b ("drivers: net: cpsw: add phy-handle parsing") saved the "phy-handle" phandle into a new cpsw_priv field. However, phy connections are per-slave, so the phy_node field should be in cpsw_slave_data rather than cpsw_priv. This would go unnoticed in a single emac configuration. But in dual_emac mode, the last "phy-handle" property parsed for either slave would be used by both of them, causing them both to refer to the same phy_device. Fixes: 9e42f715264f ("drivers: net: cpsw: add phy-handle parsing") Signed-off-by: David Rivshin <drivshin@allworx.com> Tested-by: Nicolas Chauvet <kwizart@gmail.com> Tested-by: Andrew Goodbody <andrew.goodbody@cambrionix.com> Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/ti/cpsw.h')
-rw-r--r--drivers/net/ethernet/ti/cpsw.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ti/cpsw.h b/drivers/net/ethernet/ti/cpsw.h
index 442a7038e660..e50afd1b2eda 100644
--- a/drivers/net/ethernet/ti/cpsw.h
+++ b/drivers/net/ethernet/ti/cpsw.h
@@ -18,6 +18,7 @@
#include <linux/phy.h>
struct cpsw_slave_data {
+ struct device_node *phy_node;
char phy_id[MII_BUS_ID_SIZE];
int phy_if;
u8 mac_addr[ETH_ALEN];