Commit e31549be authored by Dave Jones's avatar Dave Jones Committed by Jeff Garzik

[PATCH] hamachi PCI DMA fix from 2.4

Maintainer fix that went into 2.4 last August with the comments
"Get hamachi net driver RX working again.
 Apparently the PCI DMA conversion still has a bug or two left in it..."
parent 26c62c73
......@@ -207,8 +207,10 @@ KERN_INFO " Further modifications by Keith Underwood <keithu@parl.clemson.edu>
/* Condensed bus+endian portability operations. */
#if ADDRLEN == 64
#define cpu_to_leXX(addr) cpu_to_le64(addr)
#define desc_to_virt(addr) bus_to_virt(le64_to_cpu(addr))
#else
#define cpu_to_leXX(addr) cpu_to_le32(addr)
#define desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr))
#endif
......@@ -1498,7 +1500,7 @@ static int hamachi_rx(struct net_device *dev)
break;
pci_dma_sync_single(hmp->pci_dev, desc->addr, hmp->rx_buf_sz,
PCI_DMA_FROMDEVICE);
buf_addr = (u8 *)hmp->rx_ring + entry*sizeof(*desc);
buf_addr = desc_to_virt(desc->addr);
frame_status = le32_to_cpu(get_unaligned((s32*)&(buf_addr[data_size - 12])));
if (hamachi_debug > 4)
printk(KERN_DEBUG " hamachi_rx() status was %8.8x.\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment