aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi_sh.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2011-05-11 09:27:00 -0400
committerGrant Likely <grant.likely@secretlab.ca>2011-05-20 02:43:07 -0400
commit680c1305e259a488f489bc887854523b6c6e0705 (patch)
treeba5ded620005a6ff939838318b07b5060617e41a /drivers/spi/spi_sh.c
parent0c4a1590189b426814748d2e03b95541852b3af6 (diff)
spi/spi_sh: use spi_unregister_master instead of spi_master_put in remove path
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>
Diffstat (limited to 'drivers/spi/spi_sh.c')
-rw-r--r--drivers/spi/spi_sh.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/spi/spi_sh.c b/drivers/spi/spi_sh.c
index 869a07d375d6..9eedd71ad898 100644
--- a/drivers/spi/spi_sh.c
+++ b/drivers/spi/spi_sh.c
@@ -427,10 +427,10 @@ static int __devexit spi_sh_remove(struct platform_device *pdev)
427{ 427{
428 struct spi_sh_data *ss = dev_get_drvdata(&pdev->dev); 428 struct spi_sh_data *ss = dev_get_drvdata(&pdev->dev);
429 429
430 spi_unregister_master(ss->master);
430 destroy_workqueue(ss->workqueue); 431 destroy_workqueue(ss->workqueue);
431 free_irq(ss->irq, ss); 432 free_irq(ss->irq, ss);
432 iounmap(ss->addr); 433 iounmap(ss->addr);
433 spi_master_put(ss->master);
434 434
435 return 0; 435 return 0;
436} 436}