[parisc-linux-cvs] DIFF -pa7 sba_iommu.c

Grant Grundler grundler@puffin.external.hp.com
Fri, 30 Nov 2001 16:52:33 -0700


-pa7 sba DMA_CHUNK_SIZE test forgot to include dma_offset and page roundup.

suspect ccio may have same issue if rbrad copied my earlier incomplete
bug fix.

Index: arch/parisc/kernel/sba_iommu.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/sba_iommu.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -p -r1.63 -r1.64
--- arch/parisc/kernel/sba_iommu.c	2001/11/30 22:18:30	1.63
+++ arch/parisc/kernel/sba_iommu.c	2001/11/30 23:50:01	1.64
@@ -1165,7 +1165,7 @@ sba_coalesce_chunks( struct ioc *ioc,
 			** exceed DMA_CHUNK_SIZE if we coalesce the
 			** next entry.
 			*/
-			if ((dma_len + startsg->length) > DMA_CHUNK_SIZE)
+			if (((dma_len + dma_offset + startsg->length + ~IOVP_MASK) & IOVP_MASK) > DMA_CHUNK_SIZE)
 				break;
 
 			/*