lkml.org 
[lkml]   [2003]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subjecthamachi 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..."

diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/net/hamachi.c linux-2.5/drivers/net/hamachi.c
--- bk-linus/drivers/net/hamachi.c 2003-04-22 00:40:42.000000000 +0100
+++ linux-2.5/drivers/net/hamachi.c 2003-04-22 01:23:14.000000000 +0100
@@ -207,8 +207,10 @@ KERN_INFO " Further modifications by K
/* 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


@@ -1497,7 +1499,7 @@ static int hamachi_rx(struct net_device
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",
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:35    [W:0.500 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site