diff options
Diffstat (limited to 'drivers/spi/spi.c')
-rw-r--r-- | drivers/spi/spi.c | 12 |
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); | |||
345 | struct spi_device *spi_alloc_device(struct spi_master *master) | 345 | struct 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)) |