spi/spi_sh: use spi_unregister_master instead of spi_master_put in remove path
authorAxel Lin <axel.lin@gmail.com>
Wed, 11 May 2011 13:27:00 +0000 (21:27 +0800)
committerGrant Likely <grant.likely@secretlab.ca>
Fri, 20 May 2011 06:43:07 +0000 (00:43 -0600)
spi_master_put() should only be used in error handling.
Once spi_register_master() returns success, we should call
spi_unregister_master() instead.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/spi/spi_sh.c

index 869a07d..9eedd71 100644 (file)
@@ -427,10 +427,10 @@ static int __devexit spi_sh_remove(struct platform_device *pdev)
 {
        struct spi_sh_data *ss = dev_get_drvdata(&pdev->dev);
 
+       spi_unregister_master(ss->master);
        destroy_workqueue(ss->workqueue);
        free_irq(ss->irq, ss);
        iounmap(ss->addr);
-       spi_master_put(ss->master);
 
        return 0;
 }