Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6
* 'spi/next' of git://git.secretlab.ca/git/linux-2.6: spi/pl022: remove function cannot exit
This commit is contained in:
commit
73a9fe86fa
1 changed files with 3 additions and 8 deletions
|
@ -2267,17 +2267,13 @@ static int __devexit
|
||||||
pl022_remove(struct amba_device *adev)
|
pl022_remove(struct amba_device *adev)
|
||||||
{
|
{
|
||||||
struct pl022 *pl022 = amba_get_drvdata(adev);
|
struct pl022 *pl022 = amba_get_drvdata(adev);
|
||||||
int status = 0;
|
|
||||||
if (!pl022)
|
if (!pl022)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Remove the queue */
|
/* Remove the queue */
|
||||||
status = destroy_queue(pl022);
|
if (destroy_queue(pl022) != 0)
|
||||||
if (status != 0) {
|
dev_err(&adev->dev, "queue remove failed\n");
|
||||||
dev_err(&adev->dev,
|
|
||||||
"queue remove failed (%d)\n", status);
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
load_ssp_default_config(pl022);
|
load_ssp_default_config(pl022);
|
||||||
pl022_dma_remove(pl022);
|
pl022_dma_remove(pl022);
|
||||||
free_irq(adev->irq[0], pl022);
|
free_irq(adev->irq[0], pl022);
|
||||||
|
@ -2289,7 +2285,6 @@ pl022_remove(struct amba_device *adev)
|
||||||
spi_unregister_master(pl022->master);
|
spi_unregister_master(pl022->master);
|
||||||
spi_master_put(pl022->master);
|
spi_master_put(pl022->master);
|
||||||
amba_set_drvdata(adev, NULL);
|
amba_set_drvdata(adev, NULL);
|
||||||
dev_dbg(&adev->dev, "remove succeeded\n");
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue