Browse Source

serial: ifx6x60: dma_alloc_coherent must use parent dev

This driver is a SPI protocol driver and has no DMA ops
associated with the device so the call will fail. Furthermore,
the DMA allocation made here will be used by the SPI
controller driver (parent dev) so it makes sense to
pass that device instead.

Signed-off-by: Russ Gorby <russ.gorby@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Russ Gorby 15 năm trước cách đây
mục cha
commit
5fc3249520
1 tập tin đã thay đổi với 2 bổ sung2 xóa
  1. 2 2
      drivers/tty/serial/ifx6x60.c

+ 2 - 2
drivers/tty/serial/ifx6x60.c

@@ -998,7 +998,7 @@ static int ifx_spi_spi_probe(struct spi_device *spi)
 	ifx_dev->spi_slave_cts = 0;
 	ifx_dev->spi_slave_cts = 0;
 
 
 	/*initialize transfer and dma buffers */
 	/*initialize transfer and dma buffers */
-	ifx_dev->tx_buffer = dma_alloc_coherent(&ifx_dev->spi_dev->dev,
+	ifx_dev->tx_buffer = dma_alloc_coherent(ifx_dev->spi_dev->dev.parent,
 				IFX_SPI_TRANSFER_SIZE,
 				IFX_SPI_TRANSFER_SIZE,
 				&ifx_dev->tx_bus,
 				&ifx_dev->tx_bus,
 				GFP_KERNEL);
 				GFP_KERNEL);
@@ -1007,7 +1007,7 @@ static int ifx_spi_spi_probe(struct spi_device *spi)
 		ret = -ENOMEM;
 		ret = -ENOMEM;
 		goto error_ret;
 		goto error_ret;
 	}
 	}
-	ifx_dev->rx_buffer = dma_alloc_coherent(&ifx_dev->spi_dev->dev,
+	ifx_dev->rx_buffer = dma_alloc_coherent(ifx_dev->spi_dev->dev.parent,
 				IFX_SPI_TRANSFER_SIZE,
 				IFX_SPI_TRANSFER_SIZE,
 				&ifx_dev->rx_bus,
 				&ifx_dev->rx_bus,
 				GFP_KERNEL);
 				GFP_KERNEL);