[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;
/*