Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Этот коммит содержится в:
@@ -4005,11 +4005,21 @@ check_page:
|
||||
}
|
||||
}
|
||||
|
||||
if (!buffer_info->dma)
|
||||
if (!buffer_info->dma) {
|
||||
buffer_info->dma = pci_map_page(pdev,
|
||||
buffer_info->page, 0,
|
||||
buffer_info->length,
|
||||
PCI_DMA_FROMDEVICE);
|
||||
if (pci_dma_mapping_error(pdev, buffer_info->dma)) {
|
||||
put_page(buffer_info->page);
|
||||
dev_kfree_skb(skb);
|
||||
buffer_info->page = NULL;
|
||||
buffer_info->skb = NULL;
|
||||
buffer_info->dma = 0;
|
||||
adapter->alloc_rx_buff_failed++;
|
||||
break; /* while !buffer_info->skb */
|
||||
}
|
||||
}
|
||||
|
||||
rx_desc = E1000_RX_DESC(*rx_ring, i);
|
||||
rx_desc->buffer_addr = cpu_to_le64(buffer_info->dma);
|
||||
@@ -4100,6 +4110,13 @@ map_skb:
|
||||
skb->data,
|
||||
buffer_info->length,
|
||||
PCI_DMA_FROMDEVICE);
|
||||
if (pci_dma_mapping_error(pdev, buffer_info->dma)) {
|
||||
dev_kfree_skb(skb);
|
||||
buffer_info->skb = NULL;
|
||||
buffer_info->dma = 0;
|
||||
adapter->alloc_rx_buff_failed++;
|
||||
break; /* while !buffer_info->skb */
|
||||
}
|
||||
|
||||
/*
|
||||
* XXX if it was allocated cleanly it will never map to a
|
||||
|
Ссылка в новой задаче
Block a user