devices/e1000e/netdev-3.4-ethercat.c
branchstable-1.5
changeset 2500 97fd83907c7c
parent 2497 505cf41488a4
child 2582 87e502828b3f
equal deleted inserted replaced
2499:c350fc89afd7 2500:97fd83907c7c
  4679 	adapter->gotc_old = adapter->stats.gotc;
  4679 	adapter->gotc_old = adapter->stats.gotc;
  4680 	spin_unlock(&adapter->stats64_lock);
  4680 	spin_unlock(&adapter->stats64_lock);
  4681 
  4681 
  4682 	e1000e_update_adaptive(&adapter->hw);
  4682 	e1000e_update_adaptive(&adapter->hw);
  4683 
  4683 
  4684 	if ((adapter->ecdev && !ecdev_get_link(adapter->ecdev))
  4684 	if (!adapter->ecdev && !netif_carrier_ok(netdev) &&
  4685 			|| (!adapter->ecdev && (!netif_carrier_ok(netdev) &&
  4685 		(e1000_desc_unused(tx_ring) + 1 < tx_ring->count)) {
  4686 	    	(e1000_desc_unused(tx_ring) + 1 < tx_ring->count)))) {
       
  4687 		/*
  4686 		/*
  4688 		 * We've lost link, so the controller stops DMA,
  4687 		 * We've lost link, so the controller stops DMA,
  4689 		 * but we've got queued Tx work that's never going
  4688 		 * but we've got queued Tx work that's never going
  4690 		 * to get done, so reset controller to flush Tx.
  4689 		 * to get done, so reset controller to flush Tx.
  4691 		 * (Do the reset outside of interrupt context).
  4690 		 * (Do the reset outside of interrupt context).