serial: ifx6x60: dma_alloc_coherent must use parent dev
authorRuss Gorby <russ.gorby@intel.com>
Mon, 7 Feb 2011 20:02:28 +0000 (12:02 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 17 Feb 2011 19:16:14 +0000 (11:16 -0800)
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>
drivers/tty/serial/ifx6x60.c

index 972c04d..bb2ff20 100644 (file)
@@ -998,7 +998,7 @@ static int ifx_spi_spi_probe(struct spi_device *spi)
        ifx_dev->spi_slave_cts = 0;
 
        /*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_dev->tx_bus,
                                GFP_KERNEL);
@@ -1007,7 +1007,7 @@ static int ifx_spi_spi_probe(struct spi_device *spi)
                ret = -ENOMEM;
                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_dev->rx_bus,
                                GFP_KERNEL);