spi: bcm2835: Tear down DMA before turning off SPI controller
[sfrench/cifs-2.6.git] / drivers / spi / spi-bcm2835.c
index 06d2782d38ece9079224e9bded2dac9d57c85669..20d8581fdf887373f4d07e1d6d1eb1625c70d5be 100644 (file)
@@ -1380,14 +1380,14 @@ static int bcm2835_spi_remove(struct platform_device *pdev)
 
        spi_unregister_controller(ctlr);
 
 
        spi_unregister_controller(ctlr);
 
+       bcm2835_dma_release(ctlr, bs);
+
        /* Clear FIFOs, and disable the HW block */
        bcm2835_wr(bs, BCM2835_SPI_CS,
                   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
 
        clk_disable_unprepare(bs->clk);
 
        /* Clear FIFOs, and disable the HW block */
        bcm2835_wr(bs, BCM2835_SPI_CS,
                   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
 
        clk_disable_unprepare(bs->clk);
 
-       bcm2835_dma_release(ctlr, bs);
-
        return 0;
 }
 
        return 0;
 }