devices/e1000e/netdev-3.2-ethercat.c
branchstable-1.5
changeset 2500 97fd83907c7c
parent 2499 c350fc89afd7
child 2582 87e502828b3f
equal deleted inserted replaced
2499:c350fc89afd7 2500:97fd83907c7c
  4544 	adapter->gotc_old = adapter->stats.gotc;
  4544 	adapter->gotc_old = adapter->stats.gotc;
  4545 	spin_unlock(&adapter->stats64_lock);
  4545 	spin_unlock(&adapter->stats64_lock);
  4546 
  4546 
  4547 	e1000e_update_adaptive(&adapter->hw);
  4547 	e1000e_update_adaptive(&adapter->hw);
  4548 
  4548 
  4549 	if ((adapter->ecdev && !ecdev_get_link(adapter->ecdev))
  4549 	if (!adapter->ecdev && !netif_carrier_ok(netdev) &&
  4550 			|| (!adapter->ecdev && (!netif_carrier_ok(netdev) &&
  4550 		(e1000_desc_unused(tx_ring) + 1 < tx_ring->count)) {
  4551 	    	(e1000_desc_unused(tx_ring) + 1 < tx_ring->count)))) {
       
  4552 		/*
  4551 		/*
  4553 		 * We've lost link, so the controller stops DMA,
  4552 		 * We've lost link, so the controller stops DMA,
  4554 		 * but we've got queued Tx work that's never going
  4553 		 * but we've got queued Tx work that's never going
  4555 		 * to get done, so reset controller to flush Tx.
  4554 		 * to get done, so reset controller to flush Tx.
  4556 		 * (Do the reset outside of interrupt context).
  4555 		 * (Do the reset outside of interrupt context).