devices/e1000/e1000_main-2.6.33-ethercat.c
branchstable-1.5
changeset 2421 bc2d4bf9cbe5
parent 2207 e11f5df971e3
child 2469 634ba3b1eb95
equal deleted inserted replaced
2420:69056c46aa4d 2421:bc2d4bf9cbe5
   315 {
   315 {
   316 	struct e1000_hw *hw = &adapter->hw;
   316 	struct e1000_hw *hw = &adapter->hw;
   317 
   317 
   318 	if (adapter->ecdev)
   318 	if (adapter->ecdev)
   319 		return;
   319 		return;
   320  
   320 
   321 	ew32(IMS, IMS_ENABLE_MASK);
   321 	ew32(IMS, IMS_ENABLE_MASK);
   322 	E1000_WRITE_FLUSH();
   322 	E1000_WRITE_FLUSH();
   323 }
   323 }
   324 
   324 
   325 static void e1000_update_mng_vlan(struct e1000_adapter *adapter)
   325 static void e1000_update_mng_vlan(struct e1000_adapter *adapter)
  2093 
  2093 
  2094 	if (!adapter->netdev && netif_running(netdev)) {
  2094 	if (!adapter->netdev && netif_running(netdev)) {
  2095 		/* No need to loop, because 82542 supports only 1 queue */
  2095 		/* No need to loop, because 82542 supports only 1 queue */
  2096 		struct e1000_rx_ring *ring = &adapter->rx_ring[0];
  2096 		struct e1000_rx_ring *ring = &adapter->rx_ring[0];
  2097 		e1000_configure_rx(adapter);
  2097 		e1000_configure_rx(adapter);
  2098 		if (adapter->ecdev) { 
  2098 		if (adapter->ecdev) {
  2099 			/* fill rx ring completely! */
  2099 			/* fill rx ring completely! */
  2100 			adapter->alloc_rx_buf(adapter, ring, ring->count);
  2100 			adapter->alloc_rx_buf(adapter, ring, ring->count);
  2101 		} else {
  2101 		} else {
  2102 			/* this one leaves the last ring element unallocated! */
  2102 			/* this one leaves the last ring element unallocated! */
  2103 			adapter->alloc_rx_buf(adapter, ring, E1000_DESC_UNUSED(ring));
  2103 			adapter->alloc_rx_buf(adapter, ring, E1000_DESC_UNUSED(ring));
  2296 
  2296 
  2297 			adapter->tx_fifo_head = 0;
  2297 			adapter->tx_fifo_head = 0;
  2298 			atomic_set(&adapter->tx_fifo_stall, 0);
  2298 			atomic_set(&adapter->tx_fifo_stall, 0);
  2299 			if (!adapter->ecdev) netif_wake_queue(netdev);
  2299 			if (!adapter->ecdev) netif_wake_queue(netdev);
  2300 		} else if (!test_bit(__E1000_DOWN, &adapter->flags)) {
  2300 		} else if (!test_bit(__E1000_DOWN, &adapter->flags)) {
  2301 			if (!adapter->ecdev) 
  2301 			if (!adapter->ecdev)
  2302 				mod_timer(&adapter->tx_fifo_stall_timer, jiffies + 1);
  2302 				mod_timer(&adapter->tx_fifo_stall_timer, jiffies + 1);
  2303 		}
  2303 		}
  2304 	}
  2304 	}
  2305 }
  2305 }
  2306 
  2306