diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 12:08:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 12:08:13 -0400 |
commit | b6257a9036f06878a0f02354d5a07f155e1cfee0 (patch) | |
tree | c0e12e3568199b748ebc7c1f9cf4005ae5da5f36 /arch/ia64 | |
parent | c548f08a4f7b89b93c805e0c4024b8302afa7121 (diff) | |
parent | f5c0dde4c66421a3a2d7d6fa604a712c9b0744e5 (diff) |
Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block:
[SCSI] Remove full sg table memset()
[SCSI] ide-scsi: remove usage of sg_last()
Fix loop terminating conditions in fill_sg().
[BLOCK] Clear sg entry before filling in blk_rq_map_sg()
IA64: iommu uses sg_next with an invalid sg element
cciss: disable DMA refetch on Smart Array P600
swiotlb: fix map_sg failure handling
SPARC64: fix iommu sg chaining
[SCSI] ide-scsi: use scsi_sg_count() instead of ->use_sg
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/hp/common/sba_iommu.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c index 4338f4123f31..3c95f4184b99 100644 --- a/arch/ia64/hp/common/sba_iommu.c +++ b/arch/ia64/hp/common/sba_iommu.c | |||
@@ -1179,7 +1179,6 @@ sba_fill_pdir( | |||
1179 | u64 *pdirp = NULL; | 1179 | u64 *pdirp = NULL; |
1180 | unsigned long dma_offset = 0; | 1180 | unsigned long dma_offset = 0; |
1181 | 1181 | ||
1182 | dma_sg--; | ||
1183 | while (nents-- > 0) { | 1182 | while (nents-- > 0) { |
1184 | int cnt = startsg->dma_length; | 1183 | int cnt = startsg->dma_length; |
1185 | startsg->dma_length = 0; | 1184 | startsg->dma_length = 0; |
@@ -1201,7 +1200,8 @@ sba_fill_pdir( | |||
1201 | u32 pide = startsg->dma_address & ~PIDE_FLAG; | 1200 | u32 pide = startsg->dma_address & ~PIDE_FLAG; |
1202 | dma_offset = (unsigned long) pide & ~iovp_mask; | 1201 | dma_offset = (unsigned long) pide & ~iovp_mask; |
1203 | startsg->dma_address = 0; | 1202 | startsg->dma_address = 0; |
1204 | dma_sg = sg_next(dma_sg); | 1203 | if (n_mappings) |
1204 | dma_sg = sg_next(dma_sg); | ||
1205 | dma_sg->dma_address = pide | ioc->ibase; | 1205 | dma_sg->dma_address = pide | ioc->ibase; |
1206 | pdirp = &(ioc->pdir_base[pide >> iovp_shift]); | 1206 | pdirp = &(ioc->pdir_base[pide >> iovp_shift]); |
1207 | n_mappings++; | 1207 | n_mappings++; |