From patchwork Thu Jun 4 08:59:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 241627 List-Id: U-Boot discussion From: michal.simek at xilinx.com (Michal Simek) Date: Thu, 4 Jun 2020 10:59:04 +0200 Subject: [PATCH] net: xilinx: axi_emac: Fix endless loop when no PHYs are connected Message-ID: <0db6169bb6d9e421bb4db9f5a6e740ef7700930f.1591261142.git.michal.simek@xilinx.com> From: Patrick van Gelder The index used to iterate over the possible PHYs in axiemac_phy_init was an unsigned int and decremented. Therefor it was always >= 0 and never exited the loop. Signed-off-by: Patrick van Gelder Signed-off-by: Michal Simek --- drivers/net/xilinx_axi_emac.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c index d0683db80d88..2cd559676846 100644 --- a/drivers/net/xilinx_axi_emac.c +++ b/drivers/net/xilinx_axi_emac.c @@ -244,7 +244,8 @@ static u32 phywrite(struct axidma_priv *priv, u32 phyaddress, u32 registernum, static int axiemac_phy_init(struct udevice *dev) { u16 phyreg; - u32 i, ret; + int i; + u32 ret; struct axidma_priv *priv = dev_get_priv(dev); struct axi_regs *regs = priv->iobase; struct phy_device *phydev;