Commit 0a9f0e0d authored by Michal Simek's avatar Michal Simek

net: phy: xilinx: Break while loop over ethernet phy

The commit 6c993815 ("net: phy: xilinx: Be compatible with live OF
tree") change driver behavior to while loop which wasn't correct because
the driver was looping over again and again. The reason was that
ofnode_valid() is taking 0 as correct value.
Fix it by changing while loop to ofnode_for_each_subnode() which is only
loop over available nodes.

Fixes: 6c993815 ("net: phy: xilinx: Be compatible with live OF tree")
Signed-off-by: default avatarMichal Simek <>
Reviewed-by: Bin Meng's avatarBin Meng <>
parent 0b0705b5
......@@ -948,9 +948,9 @@ static struct phy_device *phy_connect_gmii2rgmii(struct mii_dev *bus,
phy_interface_t interface)
struct phy_device *phydev = NULL;
ofnode node = dev_ofnode(dev);
ofnode node;
while (ofnode_valid(node)) {
ofnode_for_each_subnode(node, dev_ofnode(dev)) {
node = ofnode_by_compatible(node, "xlnx,gmii-to-rgmii-1.0");
if (ofnode_valid(node)) {
phydev = phy_device_create(bus, 0,
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment