|
@@ -1107,10 +1107,10 @@ static int mcp251x_can_probe(struct spi_device *spi)
|
|
|
* Minimum coherent DMA allocation is PAGE_SIZE, so allocate
|
|
|
* that much and share it between Tx and Rx DMA buffers.
|
|
|
*/
|
|
|
- priv->spi_tx_buf = dma_alloc_coherent(&spi->dev,
|
|
|
- PAGE_SIZE,
|
|
|
- &priv->spi_tx_dma,
|
|
|
- GFP_DMA);
|
|
|
+ priv->spi_tx_buf = dmam_alloc_coherent(&spi->dev,
|
|
|
+ PAGE_SIZE,
|
|
|
+ &priv->spi_tx_dma,
|
|
|
+ GFP_DMA);
|
|
|
|
|
|
if (priv->spi_tx_buf) {
|
|
|
priv->spi_rx_buf = (priv->spi_tx_buf + (PAGE_SIZE / 2));
|
|
@@ -1156,9 +1156,6 @@ static int mcp251x_can_probe(struct spi_device *spi)
|
|
|
return 0;
|
|
|
|
|
|
error_probe:
|
|
|
- if (mcp251x_enable_dma)
|
|
|
- dma_free_coherent(&spi->dev, PAGE_SIZE,
|
|
|
- priv->spi_tx_buf, priv->spi_tx_dma);
|
|
|
mcp251x_power_enable(priv->power, 0);
|
|
|
|
|
|
out_clk:
|
|
@@ -1178,11 +1175,6 @@ static int mcp251x_can_remove(struct spi_device *spi)
|
|
|
|
|
|
unregister_candev(net);
|
|
|
|
|
|
- if (mcp251x_enable_dma) {
|
|
|
- dma_free_coherent(&spi->dev, PAGE_SIZE,
|
|
|
- priv->spi_tx_buf, priv->spi_tx_dma);
|
|
|
- }
|
|
|
-
|
|
|
mcp251x_power_enable(priv->power, 0);
|
|
|
|
|
|
if (!IS_ERR(priv->clk))
|