aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/spi/spi.c')
-rw-r--r--drivers/spi/spi.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index d4f9670b51bc..e6f076d5ffd5 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -345,14 +345,12 @@ static DEFINE_MUTEX(board_lock);
345struct spi_device *spi_alloc_device(struct spi_master *master) 345struct spi_device *spi_alloc_device(struct spi_master *master)
346{ 346{
347 struct spi_device *spi; 347 struct spi_device *spi;
348 struct device *dev = master->dev.parent;
349 348
350 if (!spi_master_get(master)) 349 if (!spi_master_get(master))
351 return NULL; 350 return NULL;
352 351
353 spi = kzalloc(sizeof(*spi), GFP_KERNEL); 352 spi = kzalloc(sizeof(*spi), GFP_KERNEL);
354 if (!spi) { 353 if (!spi) {
355 dev_err(dev, "cannot alloc spi_device\n");
356 spi_master_put(master); 354 spi_master_put(master);
357 return NULL; 355 return NULL;
358 } 356 }
@@ -619,6 +617,8 @@ static int spi_map_buf(struct spi_master *master, struct device *dev,
619 } 617 }
620 618
621 ret = dma_map_sg(dev, sgt->sgl, sgt->nents, dir); 619 ret = dma_map_sg(dev, sgt->sgl, sgt->nents, dir);
620 if (!ret)
621 ret = -ENOMEM;
622 if (ret < 0) { 622 if (ret < 0) {
623 sg_free_table(sgt); 623 sg_free_table(sgt);
624 return ret; 624 return ret;
@@ -647,8 +647,8 @@ static int __spi_map_msg(struct spi_master *master, struct spi_message *msg)
647 if (!master->can_dma) 647 if (!master->can_dma)
648 return 0; 648 return 0;
649 649
650 tx_dev = &master->dma_tx->dev->device; 650 tx_dev = master->dma_tx->device->dev;
651 rx_dev = &master->dma_rx->dev->device; 651 rx_dev = master->dma_rx->device->dev;
652 652
653 list_for_each_entry(xfer, &msg->transfers, transfer_list) { 653 list_for_each_entry(xfer, &msg->transfers, transfer_list) {
654 if (!master->can_dma(master, msg->spi, xfer)) 654 if (!master->can_dma(master, msg->spi, xfer))
@@ -687,8 +687,8 @@ static int spi_unmap_msg(struct spi_master *master, struct spi_message *msg)
687 if (!master->cur_msg_mapped || !master->can_dma) 687 if (!master->cur_msg_mapped || !master->can_dma)
688 return 0; 688 return 0;
689 689
690 tx_dev = &master->dma_tx->dev->device; 690 tx_dev = master->dma_tx->device->dev;
691 rx_dev = &master->dma_rx->dev->device; 691 rx_dev = master->dma_rx->device->dev;
692 692
693 list_for_each_entry(xfer, &msg->transfers, transfer_list) { 693 list_for_each_entry(xfer, &msg->transfers, transfer_list) {
694 if (!master->can_dma(master, msg->spi, xfer)) 694 if (!master->can_dma(master, msg->spi, xfer))