]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ixgbevf: Streamline the rx buffer allocation
authorGreg Rose <gregory.v.rose@intel.com>
Fri, 2 Nov 2012 05:50:21 +0000 (05:50 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 15 Nov 2012 13:35:12 +0000 (05:35 -0800)
Moves allocation of local variable to section where it is needed and
removes unnecessary if statement.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c

index 9d88153023633c5426b9b1841b269d7738f98c34..b46dff8ef9ab86aa81f92da3de4d7467f1ab7e20 100644 (file)
@@ -341,15 +341,16 @@ static void ixgbevf_alloc_rx_buffers(struct ixgbevf_adapter *adapter,
        struct pci_dev *pdev = adapter->pdev;
        union ixgbe_adv_rx_desc *rx_desc;
        struct ixgbevf_rx_buffer *bi;
-       struct sk_buff *skb;
        unsigned int i = rx_ring->next_to_use;
 
        bi = &rx_ring->rx_buffer_info[i];
 
        while (cleaned_count--) {
                rx_desc = IXGBEVF_RX_DESC(rx_ring, i);
-               skb = bi->skb;
-               if (!skb) {
+
+               if (!bi->skb) {
+                       struct sk_buff *skb;
+
                        skb = netdev_alloc_skb_ip_align(rx_ring->netdev,
                                                        rx_ring->rx_buf_len);
                        if (!skb) {
@@ -357,8 +358,7 @@ static void ixgbevf_alloc_rx_buffers(struct ixgbevf_adapter *adapter,
                                goto no_buffers;
                        }
                        bi->skb = skb;
-               }
-               if (!bi->dma) {
+
                        bi->dma = dma_map_single(&pdev->dev, skb->data,
                                                 rx_ring->rx_buf_len,
                                                 DMA_FROM_DEVICE);