ixgbevf: Streamline the rx buffer allocation
[deliverable/linux.git] / 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);
This page took 0.028408 seconds and 5 git commands to generate.