aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-11-27 20:55:42 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-11-27 20:55:42 -0500
commit190fc9d9686283465bfa45e7a25cff0e05cc99e4 (patch)
treef38b6ccd7b40778a8e4e32bb7a2052016e094482 /drivers/spi/spi.c
parent0210bb6083e655981ebe9ea2fc6a4ab4e96d4bff (diff)
parentec058615f1fbc03837ab048b1bb7291370b46cef (diff)
Merge tag 'spi-v3.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi fixes from Mark Brown: "There's a couple of driver fixes here, plus one core fix for the DMA mapping which wasn't doing the right thing for vmalloc()ed addresses that hadn't been through kmap(). It's fairly rare to use vmalloc() with SPI and it's a subset of those users who might fail so it's unsurprising that this wasn't noticed sooner" * tag 'spi-v3.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: spi: sirf: fix word width configuration spi: Fix mapping from vmalloc-ed buffer to scatter list spi: dw: Fix dynamic speed change.
Diffstat (limited to 'drivers/spi/spi.c')
-rw-r--r--drivers/spi/spi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index ebcb33df2eb2..50f20f243981 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -615,13 +615,13 @@ static int spi_map_buf(struct spi_master *master, struct device *dev,
615 sg_free_table(sgt); 615 sg_free_table(sgt);
616 return -ENOMEM; 616 return -ENOMEM;
617 } 617 }
618 sg_buf = page_address(vm_page) + 618 sg_set_page(&sgt->sgl[i], vm_page,
619 ((size_t)buf & ~PAGE_MASK); 619 min, offset_in_page(buf));
620 } else { 620 } else {
621 sg_buf = buf; 621 sg_buf = buf;
622 sg_set_buf(&sgt->sgl[i], sg_buf, min);
622 } 623 }
623 624
624 sg_set_buf(&sgt->sgl[i], sg_buf, min);
625 625
626 buf += min; 626 buf += min;
627 len -= min; 627 len -= min;