diff options
| -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)) |
