| To: | netdev@xxxxxxxxxxx |
|---|---|
| Subject: | e1000_clean_tx_ring |
| From: | Anton Blanchard <anton@xxxxxxxxx> |
| Date: | Fri, 25 Jun 2004 09:23:11 +1000 |
| Cc: | cramerj@xxxxxxxxx, john.ronciak@xxxxxxxxx, ganesh.venkatesan@xxxxxxxxx |
| Sender: | netdev-bounce@xxxxxxxxxxx |
| User-agent: | Mutt/1.5.6+20040523i |
Hi,
I was looking over the e1000 driver and noticed what I think is a bug
in e1000_clean_tx_ring. We wouldnt call pci_unmap_page on tx ring
entries that didnt have ->skb filled, eg zero copy packets.
This is on latest 2.6 BK.
Anton
===== e1000_main.c 1.120 vs edited =====
--- 1.120/drivers/net/e1000/e1000_main.c Sat Jun 19 10:00:00 2004
+++ edited/e1000_main.c Thu Jun 24 02:16:42 2004
@@ -1070,14 +1070,19 @@
for(i = 0; i < tx_ring->count; i++) {
buffer_info = &tx_ring->buffer_info[i];
- if(buffer_info->skb) {
+ if (buffer_info->dma) {
pci_unmap_page(pdev,
buffer_info->dma,
buffer_info->length,
PCI_DMA_TODEVICE);
- dev_kfree_skb(buffer_info->skb);
+ buffer_info->dma = NULL;
+ }
+
+ if (buffer_info->skb) {
+
+ dev_kfree_skb_any(buffer_info->skb);
buffer_info->skb = NULL;
}
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [RFC] How to implement wccp over gre tunnel ?, Henrik Nordstrom |
|---|---|
| Next by Date: | [PATCH 2.6.X] 32->64 bit conversion for wireless private ioctl, Jean Tourrilhes |
| Previous by Thread: | [no subject], mxrucwjlcmiw |
| Next by Thread: | RE: e1000_clean_tx_ring, Venkatesan, Ganesh |
| Indexes: | [Date] [Thread] [Top] [All Lists] |