Re: pcnet32.c bug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yes, this fix is correct... I made the same patch locally... sorry we 
haven't submited it yet... turns out we've dropeed this one from our 
own latest sources; thanks for the reminder. :-)

Note that there is another problem with cache line invalidation and 
the use of pci_dma_sync_single(), where one can get stale entries in 
the cache when the buffer is next re-used for DMA.

My co-worker Will Jhun <mailto:wjhun@ayrnetworks.com> just sent 
e-mail on the subject of problems with the cache invalidation 
routines last Saturday, with Message-ID: 
<20020525131806.A4073@ayrnetworks.com>

Kevin

At 12:46 PM +0200 5/29/02, Brian Murphy wrote:
>If I don't apply the following patch to pcnet32.c then the network connection
>on my vr5000 box is extremely jerky. It also seems quite sensible to have a
>dma sync operation here.
>
>any comments?
>
>/Brian
>
>
>--- drivers/net/pcnet32.c	19 Mar 2002 16:40:55 -0000	1.1.1.1.2.1.2.6
>+++ drivers/net/pcnet32.c	29 May 2002 09:57:33 -0000	1.13.4.2
>@@ -1343,6 +1351,10 @@
>  		if (!rx_in_place) {
>  		    skb_reserve(skb,2); /* 16 byte align */
>  		    skb_put(skb,pkt_len);	/* Make room */
>+                    pci_dma_sync_single(lp->pci_dev,
>+				    lp->rx_skbuff[entry]->tail,
>+				    pkt_len,
>+				    PCI_DMA_FROMDEVICE);
>  		    eth_copy_and_sum(skb,
>  				     (unsigned char 
>*)(lp->rx_skbuff[entry]->tail),
>  				     pkt_len,0);


-- 

[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux