Re: [PATCH] spi: Ensure memory used for spi_write_then_read() is DMA safe
On Sun, 27 Jan 2013 14:35:04 +0800, Mark Brown wrote: > 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 Applied, thanks. g. > --- > drivers/spi/spi.c |3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c > index 19ee901..14d0fba 100644 > --- a/drivers/spi/spi.c > +++ b/drivers/spi/spi.c > @@ -1656,7 +1656,8 @@ int spi_write_then_read(struct spi_device *spi, >* using the pre-allocated buffer or the transfer is too large. >*/ > if ((n_tx + n_rx) > SPI_BUFSIZ || !mutex_trylock(&lock)) { > - local_buf = kmalloc(max((unsigned)SPI_BUFSIZ, n_tx + n_rx), > GFP_KERNEL); > + local_buf = kmalloc(max((unsigned)SPI_BUFSIZ, n_tx + n_rx), > + GFP_KERNEL | GFP_DMA); > if (!local_buf) > return -ENOMEM; > } else { > -- > 1.7.10.4 > -- Grant Likely, B.Sc, P.Eng. Secret Lab Technologies, Ltd. -- Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
[PATCH] 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 --- drivers/spi/spi.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 19ee901..14d0fba 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -1656,7 +1656,8 @@ int spi_write_then_read(struct spi_device *spi, * using the pre-allocated buffer or the transfer is too large. */ if ((n_tx + n_rx) > SPI_BUFSIZ || !mutex_trylock(&lock)) { - local_buf = kmalloc(max((unsigned)SPI_BUFSIZ, n_tx + n_rx), GFP_KERNEL); + local_buf = kmalloc(max((unsigned)SPI_BUFSIZ, n_tx + n_rx), + GFP_KERNEL | GFP_DMA); if (!local_buf) return -ENOMEM; } else { -- 1.7.10.4 -- Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general