aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2013-01-27 01:35:04 -0500
committerGrant Likely <grant.likely@secretlab.ca>2013-02-05 09:44:13 -0500
commit2cd94c8a1b4184b48ecbc16b353dcbb513053285 (patch)
treef93898fba0a5022602b8efec6a48619bfbda2fd6 /drivers/spi
parentc88dd349b5a83c9efa4030176a5184a9a1440475 (diff)
spi: Ensure memory used for spi_write_then_read() is DMA safe
Use GFP_DMA in order to ensure that the memory we allocate for transfers in spi_write_then_read() can be DMAed. On most platforms this will have no effect. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 2edbe1903804..d1e0a316826d 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -1661,7 +1661,8 @@ int spi_write_then_read(struct spi_device *spi,
1661 * using the pre-allocated buffer or the transfer is too large. 1661 * using the pre-allocated buffer or the transfer is too large.
1662 */ 1662 */
1663 if ((n_tx + n_rx) > SPI_BUFSIZ || !mutex_trylock(&lock)) { 1663 if ((n_tx + n_rx) > SPI_BUFSIZ || !mutex_trylock(&lock)) {
1664 local_buf = kmalloc(max((unsigned)SPI_BUFSIZ, n_tx + n_rx), GFP_KERNEL); 1664 local_buf = kmalloc(max((unsigned)SPI_BUFSIZ, n_tx + n_rx),
1665 GFP_KERNEL | GFP_DMA);
1665 if (!local_buf) 1666 if (!local_buf)
1666 return -ENOMEM; 1667 return -ENOMEM;
1667 } else { 1668 } else {