|
@@ -1764,8 +1764,6 @@ static void musb_free(struct musb *musb)
|
|
free_irq(musb->nIrq, musb);
|
|
free_irq(musb->nIrq, musb);
|
|
}
|
|
}
|
|
cancel_work_sync(&musb->irq_work);
|
|
cancel_work_sync(&musb->irq_work);
|
|
- if (musb->dma_controller)
|
|
|
|
- dma_controller_destroy(musb->dma_controller);
|
|
|
|
|
|
|
|
musb_host_free(musb);
|
|
musb_host_free(musb);
|
|
}
|
|
}
|
|
@@ -1990,6 +1988,9 @@ static int musb_remove(struct platform_device *pdev)
|
|
musb_exit_debugfs(musb);
|
|
musb_exit_debugfs(musb);
|
|
musb_shutdown(pdev);
|
|
musb_shutdown(pdev);
|
|
|
|
|
|
|
|
+ if (musb->dma_controller)
|
|
|
|
+ dma_controller_destroy(musb->dma_controller);
|
|
|
|
+
|
|
musb_free(musb);
|
|
musb_free(musb);
|
|
device_init_wakeup(dev, 0);
|
|
device_init_wakeup(dev, 0);
|
|
return 0;
|
|
return 0;
|