diff options
| author | Mark Brown <broonie@linaro.org> | 2014-08-04 12:20:53 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@linaro.org> | 2014-08-04 12:20:53 -0400 |
| commit | 9afabfe3f8f59f68ad69dd69258eded7545b4dbe (patch) | |
| tree | 043380908f5a18e8f045953788802d94b12312ef | |
| parent | 19583ca584d6f574384e17fe7613dfaeadcdc4a6 (diff) | |
| parent | 3fc25421f55e36426f5e5cc227cacc840493a943 (diff) | |
Merge remote-tracking branch 'spi/fix/core' into spi-linus
| -rw-r--r-- | drivers/spi/spi.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index d4f9670b51bc..e691e281e3a2 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c | |||
| @@ -619,6 +619,8 @@ static int spi_map_buf(struct spi_master *master, struct device *dev, | |||
| 619 | } | 619 | } |
| 620 | 620 | ||
| 621 | ret = dma_map_sg(dev, sgt->sgl, sgt->nents, dir); | 621 | ret = dma_map_sg(dev, sgt->sgl, sgt->nents, dir); |
| 622 | if (!ret) | ||
| 623 | ret = -ENOMEM; | ||
| 622 | if (ret < 0) { | 624 | if (ret < 0) { |
| 623 | sg_free_table(sgt); | 625 | sg_free_table(sgt); |
| 624 | return ret; | 626 | return ret; |
| @@ -647,8 +649,8 @@ static int __spi_map_msg(struct spi_master *master, struct spi_message *msg) | |||
| 647 | if (!master->can_dma) | 649 | if (!master->can_dma) |
| 648 | return 0; | 650 | return 0; |
| 649 | 651 | ||
| 650 | tx_dev = &master->dma_tx->dev->device; | 652 | tx_dev = master->dma_tx->device->dev; |
| 651 | rx_dev = &master->dma_rx->dev->device; | 653 | rx_dev = master->dma_rx->device->dev; |
| 652 | 654 | ||
| 653 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { | 655 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { |
| 654 | if (!master->can_dma(master, msg->spi, xfer)) | 656 | if (!master->can_dma(master, msg->spi, xfer)) |
| @@ -687,8 +689,8 @@ static int spi_unmap_msg(struct spi_master *master, struct spi_message *msg) | |||
| 687 | if (!master->cur_msg_mapped || !master->can_dma) | 689 | if (!master->cur_msg_mapped || !master->can_dma) |
| 688 | return 0; | 690 | return 0; |
| 689 | 691 | ||
| 690 | tx_dev = &master->dma_tx->dev->device; | 692 | tx_dev = master->dma_tx->device->dev; |
| 691 | rx_dev = &master->dma_rx->dev->device; | 693 | rx_dev = master->dma_rx->device->dev; |
| 692 | 694 | ||
| 693 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { | 695 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { |
| 694 | if (!master->can_dma(master, msg->spi, xfer)) | 696 | if (!master->can_dma(master, msg->spi, xfer)) |
