diff options
Diffstat (limited to 'drivers/qe')
| -rw-r--r-- | drivers/qe/uec.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/drivers/qe/uec.c b/drivers/qe/uec.c index e10c0f328..48033d750 100644 --- a/drivers/qe/uec.c +++ b/drivers/qe/uec.c @@ -1223,8 +1223,10 @@ static int uec_init(struct eth_device* dev, bd_t *bd)  		i = 50;  		do {  			err = curphy->read_status(uec->mii_info); +			if (!(((i-- > 0) && !uec->mii_info->link) || err)) +				break;  			udelay(100000); -		} while (((i-- > 0) && !uec->mii_info->link) || err); +		} while (1);  		if (err || i <= 0)  			printf("warning: %s: timeout on PHY link\n", dev->name); |