devices/e1000/e1000_main-2.6.32-ethercat.c
branchstable-1.5
changeset 2421 bc2d4bf9cbe5
parent 2214 f55fe046b22b
child 2469 634ba3b1eb95
equal deleted inserted replaced
2420:69056c46aa4d 2421:bc2d4bf9cbe5
  2086 
  2086 
  2087 	if (!adapter->netdev && netif_running(netdev)) {
  2087 	if (!adapter->netdev && netif_running(netdev)) {
  2088 		/* No need to loop, because 82542 supports only 1 queue */
  2088 		/* No need to loop, because 82542 supports only 1 queue */
  2089 		struct e1000_rx_ring *ring = &adapter->rx_ring[0];
  2089 		struct e1000_rx_ring *ring = &adapter->rx_ring[0];
  2090 		e1000_configure_rx(adapter);
  2090 		e1000_configure_rx(adapter);
  2091 		if (adapter->ecdev) { 
  2091 		if (adapter->ecdev) {
  2092 			/* fill rx ring completely! */
  2092 			/* fill rx ring completely! */
  2093 			adapter->alloc_rx_buf(adapter, ring, ring->count);
  2093 			adapter->alloc_rx_buf(adapter, ring, ring->count);
  2094 		} else {
  2094 		} else {
  2095             /* this one leaves the last ring element unallocated! */
  2095             /* this one leaves the last ring element unallocated! */
  2096 			adapter->alloc_rx_buf(adapter, ring, E1000_DESC_UNUSED(ring));
  2096 			adapter->alloc_rx_buf(adapter, ring, E1000_DESC_UNUSED(ring));
  2289 
  2289 
  2290 			adapter->tx_fifo_head = 0;
  2290 			adapter->tx_fifo_head = 0;
  2291 			atomic_set(&adapter->tx_fifo_stall, 0);
  2291 			atomic_set(&adapter->tx_fifo_stall, 0);
  2292 			if (!adapter->ecdev) netif_wake_queue(netdev);
  2292 			if (!adapter->ecdev) netif_wake_queue(netdev);
  2293 		} else if (!test_bit(__E1000_DOWN, &adapter->flags)) {
  2293 		} else if (!test_bit(__E1000_DOWN, &adapter->flags)) {
  2294 			if (!adapter->ecdev) 
  2294 			if (!adapter->ecdev)
  2295 				mod_timer(&adapter->tx_fifo_stall_timer, jiffies + 1);
  2295 				mod_timer(&adapter->tx_fifo_stall_timer, jiffies + 1);
  2296 		}
  2296 		}
  2297 	}
  2297 	}
  2298 }
  2298 }
  2299 
  2299