int i; u16 v;  xm_write16(hw, port, XM_PHY_ADDR, reg | hw->phy_addr); v = xm_read16(hw, port, XM_PHY_DATA);  /* Need to wait for external PHY */ for (i = 0; i < PHY_RETRIES; i++) { udelay(1); if (xm_read16(hw, port, XM_MMU_CMD) & XM_MMU_PHY_RDY) goto ready; }  printk(KERN_WARNING PFX "%s: phy read timed out\n", hw->dev[port]->name); return 0; ready: v = xm_read16(hw, port, XM_PHY_DATA);  
u16 v = 0; if (__xm_phy_read(hw, port, reg, &v)) printk(KERN_WARNING PFX "%s: phy read timed out\n", hw->dev[port]->name); 
static u16 xm_phy_read(struct skge_hw *hw, int port, u16 reg){	int i;	u16 v;	xm_write16(hw, port, XM_PHY_ADDR, reg | hw->phy_addr);	v = xm_read16(hw, port, XM_PHY_DATA);	/* Need to wait for external PHY */	for (i = 0; i < PHY_RETRIES; i++) {		udelay(1);		if (xm_read16(hw, port, XM_MMU_CMD)		    & XM_MMU_PHY_RDY)			goto ready;	}	printk(KERN_WARNING PFX "%s: phy read timed out\n",	       hw->dev[port]->name);	return 0; ready:	v = xm_read16(hw, port, XM_PHY_DATA);	return v;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2cd8e5d36584653c62a6fdf0e7d9fbde5022b5d6/skge.c/buggy/drivers/net/skge.c