Jens Axboe wrote: > On Thu, May 10 2007, Benny Halevy wrote: >> @@ -411,12 +406,13 @@ int gart_map_sg(struct device *dev, struct scatterlist >> *sg, int nents, int dir) >> boundary and the new one doesn't have an offset. */ >> if (!iommu_merge || !nextneed || !need || s->offset || >> (ps->offset + ps->length) % PAGE_SIZE) { >> - if (dma_map_cont(sg, start, i, sg+out, pages, >> - need) < 0) >> + if (dma_map_cont(start_sg, i - start, sg+out, >> + pages, need) < 0) >> goto error; >> out++; >> pages = 0; >> - start = i; >> + start = i; >> + start_sg = s; >> } >> } >> >> @@ -424,7 +420,7 @@ int gart_map_sg(struct device *dev, struct scatterlist >> *sg, int nents, int dir) >> pages += to_pages(s->offset, s->length); >> ps = s; >> } >> - if (dma_map_cont(sg, start, i, sg+out, pages, need) < 0) >> + if (dma_map_cont(start_sg, i - start, sg+out, pages, need) < 0) >> goto error; >> out++; >> flush_gart(); > > Your patch is (very) buggy, the whole premise of doing chained sg > entries makes sg + int illegal! >
You're right. I'll send a fix asap. Benny -- Benny Halevy Software Architect Tel/Fax: +972-3-647-8340 Mobile: +972-54-802-8340 [EMAIL PROTECTED] Panasas, Inc. The Leader in Parallel Storage www.panasas.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/