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 22aa41cace82..e0531baf2782 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c | |||
@@ -350,14 +350,12 @@ static DEFINE_MUTEX(board_lock); | |||
350 | struct spi_device *spi_alloc_device(struct spi_master *master) | 350 | struct spi_device *spi_alloc_device(struct spi_master *master) |
351 | { | 351 | { |
352 | struct spi_device *spi; | 352 | struct spi_device *spi; |
353 | struct device *dev = master->dev.parent; | ||
354 | 353 | ||
355 | if (!spi_master_get(master)) | 354 | if (!spi_master_get(master)) |
356 | return NULL; | 355 | return NULL; |
357 | 356 | ||
358 | spi = kzalloc(sizeof(*spi), GFP_KERNEL); | 357 | spi = kzalloc(sizeof(*spi), GFP_KERNEL); |
359 | if (!spi) { | 358 | if (!spi) { |
360 | dev_err(dev, "cannot alloc spi_device\n"); | ||
361 | spi_master_put(master); | 359 | spi_master_put(master); |
362 | return NULL; | 360 | return NULL; |
363 | } | 361 | } |
@@ -624,6 +622,8 @@ static int spi_map_buf(struct spi_master *master, struct device *dev, | |||
624 | } | 622 | } |
625 | 623 | ||
626 | ret = dma_map_sg(dev, sgt->sgl, sgt->nents, dir); | 624 | ret = dma_map_sg(dev, sgt->sgl, sgt->nents, dir); |
625 | if (!ret) | ||
626 | ret = -ENOMEM; | ||
627 | if (ret < 0) { | 627 | if (ret < 0) { |
628 | sg_free_table(sgt); | 628 | sg_free_table(sgt); |
629 | return ret; | 629 | return ret; |
@@ -652,8 +652,8 @@ static int __spi_map_msg(struct spi_master *master, struct spi_message *msg) | |||
652 | if (!master->can_dma) | 652 | if (!master->can_dma) |
653 | return 0; | 653 | return 0; |
654 | 654 | ||
655 | tx_dev = &master->dma_tx->dev->device; | 655 | tx_dev = master->dma_tx->device->dev; |
656 | rx_dev = &master->dma_rx->dev->device; | 656 | rx_dev = master->dma_rx->device->dev; |
657 | 657 | ||
658 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { | 658 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { |
659 | if (!master->can_dma(master, msg->spi, xfer)) | 659 | if (!master->can_dma(master, msg->spi, xfer)) |
@@ -692,8 +692,8 @@ static int spi_unmap_msg(struct spi_master *master, struct spi_message *msg) | |||
692 | if (!master->cur_msg_mapped || !master->can_dma) | 692 | if (!master->cur_msg_mapped || !master->can_dma) |
693 | return 0; | 693 | return 0; |
694 | 694 | ||
695 | tx_dev = &master->dma_tx->dev->device; | 695 | tx_dev = master->dma_tx->device->dev; |
696 | rx_dev = &master->dma_rx->dev->device; | 696 | rx_dev = master->dma_rx->device->dev; |
697 | 697 | ||
698 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { | 698 | list_for_each_entry(xfer, &msg->transfers, transfer_list) { |
699 | if (!master->can_dma(master, msg->spi, xfer)) | 699 | if (!master->can_dma(master, msg->spi, xfer)) |