Skip to content

Commit

Permalink
Merge remote-tracking branch 'spi/topic/dma' into spi-next
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark Brown committed Dec 12, 2016
2 parents 0523266 + 8dd4a01 commit cc93993
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/spi/spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -725,6 +725,7 @@ static int spi_map_buf(struct spi_master *master, struct device *dev,
int desc_len;
int sgs;
struct page *vm_page;
struct scatterlist *sg;
void *sg_buf;
size_t min;
int i, ret;
Expand All @@ -743,6 +744,7 @@ static int spi_map_buf(struct spi_master *master, struct device *dev,
if (ret != 0)
return ret;

sg = &sgt->sgl[0];
for (i = 0; i < sgs; i++) {

if (vmalloced_buf || kmap_buf) {
Expand All @@ -756,16 +758,17 @@ static int spi_map_buf(struct spi_master *master, struct device *dev,
sg_free_table(sgt);
return -ENOMEM;
}
sg_set_page(&sgt->sgl[i], vm_page,
sg_set_page(sg, vm_page,
min, offset_in_page(buf));
} else {
min = min_t(size_t, len, desc_len);
sg_buf = buf;
sg_set_buf(&sgt->sgl[i], sg_buf, min);
sg_set_buf(sg, sg_buf, min);
}

buf += min;
len -= min;
sg = sg_next(sg);
}

ret = dma_map_sg(dev, sgt->sgl, sgt->nents, dir);
Expand Down

0 comments on commit cc93993

Please sign in to comment.