drivers: net: cpsw: fix parsing of phy-handle DT property in dual_emac config
authorDavid Rivshin <drivshin@allworx.com>
Thu, 28 Apr 2016 01:25:25 +0000 (21:25 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Apr 2016 21:27:29 +0000 (17:27 -0400)
commit552165bcf7060b998b4a9b5b86110b6a5e04dfd9
tree06f54489122fed2183bffcff17c9e2327210b24f
parentbbdd09ebd7ce87d2122fcc7d97f35a4f8931bc55
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>
drivers/net/ethernet/ti/cpsw.c
drivers/net/ethernet/ti/cpsw.h