On Fri, May 09, 2008 at 02:38:54PM -0500, Jay Cliburn wrote:Try this patch! If scared, remove swiotlb poisoning, I'm not entirely sure it's correct, but it makes aforementioned second oops deterministic. --- a/drivers/net/atlx/atl1.c +++ b/drivers/net/atlx/atl1.c @@ -2027,6 +2029,7 @@ rrd_ok: /* Good Receive */ pci_unmap_page(adapter->pdev, buffer_info->dma, buffer_info->length, PCI_DMA_FROMDEVICE); + buffer_info->dma = 0; skb = buffer_info->skb; length = le16_to_cpu(rrd->xsz.xsum_sz.pkt_size); diff --git a/lib/swiotlb.c b/lib/swiotlb.c index d568894..f6165ed 100644 --- a/lib/swiotlb.c +++ b/lib/swiotlb.c @@ -399,12 +399,14 @@ unmap_single(struct device *hwdev, char *dma_addr, size_t size, int dir) /* * First, sync the memory before unmapping the entry */ - if (buffer && ((dir == DMA_FROM_DEVICE) || (dir == DMA_BIDIRECTIONAL))) + if (buffer && ((dir == DMA_FROM_DEVICE) || (dir == DMA_BIDIRECTIONAL))) { /* * bounce... copy the data back into the original buffer * and * delete the bounce buffer. */ memcpy(buffer, dma_addr, size); + io_tlb_orig_addr[index] = (void *)0x9a9a9a9a9a9a9a9aUL; + } /* * Return the buffer to the free list by setting the corresponding --
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| David Newall | Re: Slow DOWN, please!!! |
| Andrew Morton | Re: Linux 2.6.21-rc4 |
git: | |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Dale Farnsworth | Re: [PATCH 01/39] mv643xx_eth: reverse topological sort of functions |
