فهرست منبع

Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net

David S. Miller 13 سال پیش
والد
کامیت
9fe5642f4a
2فایلهای تغییر یافته به همراه12 افزوده شده و 8 حذف شده
  1. 10 0
      drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
  2. 2 8
      drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

+ 10 - 0
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c

@@ -622,6 +622,16 @@ static int ixgbe_alloc_q_vector(struct ixgbe_adapter *adapter, int v_idx,
 		if (adapter->hw.mac.type == ixgbe_mac_82599EB)
 		if (adapter->hw.mac.type == ixgbe_mac_82599EB)
 			set_bit(__IXGBE_RX_CSUM_UDP_ZERO_ERR, &ring->state);
 			set_bit(__IXGBE_RX_CSUM_UDP_ZERO_ERR, &ring->state);
 
 
+#ifdef IXGBE_FCOE
+		if (adapter->netdev->features & NETIF_F_FCOE_MTU) {
+			struct ixgbe_ring_feature *f;
+			f = &adapter->ring_feature[RING_F_FCOE];
+			if ((rxr_idx >= f->mask) &&
+			    (rxr_idx < f->mask + f->indices))
+				set_bit(__IXGBE_RX_FCOE_BUFSZ, &ring->state);
+		}
+
+#endif /* IXGBE_FCOE */
 		/* apply Rx specific ring traits */
 		/* apply Rx specific ring traits */
 		ring->count = adapter->rx_ring_count;
 		ring->count = adapter->rx_ring_count;
 		ring->queue_index = rxr_idx;
 		ring->queue_index = rxr_idx;

+ 2 - 8
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

@@ -3154,14 +3154,6 @@ static void ixgbe_set_rx_buffer_len(struct ixgbe_adapter *adapter)
 			set_ring_rsc_enabled(rx_ring);
 			set_ring_rsc_enabled(rx_ring);
 		else
 		else
 			clear_ring_rsc_enabled(rx_ring);
 			clear_ring_rsc_enabled(rx_ring);
-#ifdef IXGBE_FCOE
-		if (netdev->features & NETIF_F_FCOE_MTU) {
-			struct ixgbe_ring_feature *f;
-			f = &adapter->ring_feature[RING_F_FCOE];
-			if ((i >= f->mask) && (i < f->mask + f->indices))
-				set_bit(__IXGBE_RX_FCOE_BUFSZ, &rx_ring->state);
-		}
-#endif /* IXGBE_FCOE */
 	}
 	}
 }
 }
 
 
@@ -4836,7 +4828,9 @@ static int ixgbe_resume(struct pci_dev *pdev)
 
 
 	pci_wake_from_d3(pdev, false);
 	pci_wake_from_d3(pdev, false);
 
 
+	rtnl_lock();
 	err = ixgbe_init_interrupt_scheme(adapter);
 	err = ixgbe_init_interrupt_scheme(adapter);
+	rtnl_unlock();
 	if (err) {
 	if (err) {
 		e_dev_err("Cannot initialize interrupts for device\n");
 		e_dev_err("Cannot initialize interrupts for device\n");
 		return err;
 		return err;