summaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi_sh.c
diff options
context:
space:
mode:
authorAxel Lin2011-05-11 15:27:00 +0200
committerGrant Likely2011-05-20 08:43:07 +0200
commit680c1305e259a488f489bc887854523b6c6e0705 (patch)
treeba5ded620005a6ff939838318b07b5060617e41a /drivers/spi/spi_sh.c
parentspi: Use void pointers for data in simple SPI I/O operations (diff)
downloadkernel-qcow2-linux-680c1305e259a488f489bc887854523b6c6e0705.tar.gz
kernel-qcow2-linux-680c1305e259a488f489bc887854523b6c6e0705.tar.xz
kernel-qcow2-linux-680c1305e259a488f489bc887854523b6c6e0705.zip
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)
{
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;
}