printk(KERN_WARNING PFX "%s: PHY reset until link up\n", dev->name); 
if (netif_msg_link(tp)) printk(KERN_WARNING "%s: PHY reset until link up\n", dev->name); 
static void rtl8169_phy_timer(unsigned long __opaque){	struct net_device *dev = (struct net_device *)__opaque;	struct rtl8169_private *tp = netdev_priv(dev);	struct timer_list *timer = &tp->timer;	void __iomem *ioaddr = tp->mmio_addr;	unsigned long timeout = RTL8169_PHY_TIMEOUT;	assert(tp->mac_version > RTL_GIGA_MAC_VER_B);	assert(tp->phy_version < RTL_GIGA_PHY_VER_H);	if (!(tp->phy_1000_ctrl_reg & PHY_Cap_1000_Full))		return;	spin_lock_irq(&tp->lock);	if (tp->phy_reset_pending(ioaddr)) {		/* 		 * A busy loop could burn quite a few cycles on nowadays CPU.		 * Let's delay the execution of the timer for a few ticks.		 */		timeout = HZ/10;		goto out_mod_timer;	}	if (tp->link_ok(ioaddr))		goto out_unlock;	printk(KERN_WARNING PFX "%s: PHY reset until link up\n", dev->name);	tp->phy_reset_enable(ioaddr);out_mod_timer:	mod_timer(timer, jiffies + timeout);out_unlock:	spin_unlock_irq(&tp->lock);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b57b7e5a11c4e45565cf34d786d74ad35483fe83/r8169.c/clean/drivers/net/r8169.c