devices/r8169-2.6.32-ethercat.c
branchstable-1.5
changeset 2421 bc2d4bf9cbe5
parent 1973 4d6774893746
child 2582 87e502828b3f
equal deleted inserted replaced
2420:69056c46aa4d 2421:bc2d4bf9cbe5
  2702 	if (!(tp->phy_1000_ctrl_reg & ADVERTISE_1000FULL))
  2702 	if (!(tp->phy_1000_ctrl_reg & ADVERTISE_1000FULL))
  2703 		return;
  2703 		return;
  2704 
  2704 
  2705 	if (!tp->ecdev)
  2705 	if (!tp->ecdev)
  2706 		spin_lock_irq(&tp->lock);
  2706 		spin_lock_irq(&tp->lock);
  2707 	
  2707 
  2708 	if (tp->phy_reset_pending(ioaddr)) {
  2708 	if (tp->phy_reset_pending(ioaddr)) {
  2709 		/*
  2709 		/*
  2710 		 * A busy loop could burn quite a few cycles on nowadays CPU.
  2710 		 * A busy loop could burn quite a few cycles on nowadays CPU.
  2711 		 * Let's delay the execution of the timer for a few ticks.
  2711 		 * Let's delay the execution of the timer for a few ticks.
  2712 		 */
  2712 		 */
  3317 				dev->name, dev);
  3317 				dev->name, dev);
  3318 		if (retval < 0)
  3318 		if (retval < 0)
  3319 			goto err_release_ring_2;
  3319 			goto err_release_ring_2;
  3320 
  3320 
  3321 		napi_enable(&tp->napi);
  3321 		napi_enable(&tp->napi);
  3322  
       
  3323 	}
  3322 	}
  3324 
  3323 
  3325 	rtl_hw_start(dev);
  3324 	rtl_hw_start(dev);
  3326 
  3325 
  3327 	rtl8169_request_timer(dev);
  3326 	rtl8169_request_timer(dev);
  4763 
  4762 
  4764 	if (!tp->ecdev) {
  4763 	if (!tp->ecdev) {
  4765 		netif_stop_queue(dev);
  4764 		netif_stop_queue(dev);
  4766 
  4765 
  4767 		napi_disable(&tp->napi);
  4766 		napi_disable(&tp->napi);
  4768  
       
  4769 	}
  4767 	}
  4770 
  4768 
  4771 core_down:
  4769 core_down:
  4772 	if (!tp->ecdev)
  4770 	if (!tp->ecdev)
  4773 		spin_lock_irq(&tp->lock);
  4771 		spin_lock_irq(&tp->lock);
  4923 static int rtl8169_suspend(struct device *device)
  4921 static int rtl8169_suspend(struct device *device)
  4924 {
  4922 {
  4925 	struct pci_dev *pdev = to_pci_dev(device);
  4923 	struct pci_dev *pdev = to_pci_dev(device);
  4926 	struct net_device *dev = pci_get_drvdata(pdev);
  4924 	struct net_device *dev = pci_get_drvdata(pdev);
  4927 	struct rtl8169_private *tp = netdev_priv(dev);
  4925 	struct rtl8169_private *tp = netdev_priv(dev);
  4928 	
  4926 
  4929 	if (tp->ecdev)
  4927 	if (tp->ecdev)
  4930  		return -EBUSY;
  4928  		return -EBUSY;
  4931 
  4929 
  4932 	rtl8169_net_suspend(dev);
  4930 	rtl8169_net_suspend(dev);
  4933 
  4931