diff options
| -rw-r--r-- | drivers/spi/spi.c | 6 | 
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,  				sg_free_table(sgt);  				return -ENOMEM;  			} -			sg_buf = page_address(vm_page) + -				((size_t)buf & ~PAGE_MASK); +			sg_set_page(&sgt->sgl[i], vm_page, +				    min, offset_in_page(buf));  		} else {  			sg_buf = buf; +			sg_set_buf(&sgt->sgl[i], sg_buf, min);  		} -		sg_set_buf(&sgt->sgl[i], sg_buf, min);  		buf += min;  		len -= min; | 
