diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2013-08-12 11:43:45 +0400 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2013-08-12 11:43:45 +0400 |
| commit | cada23f308e3869ceb5c75f164d249448dfaec07 (patch) | |
| tree | 97c7aebcad0eb2a93a7519251a01f5be9255ee75 /drivers/misc/atmel-ssc.c | |
| parent | e769ece3b129698d2b09811a6f6d304e4eaa8c29 (diff) | |
| parent | 6c8c0c4dc0e98ee2191211d66e9f876e95787073 (diff) | |
| download | linux-cada23f308e3869ceb5c75f164d249448dfaec07.tar.xz | |
Merge branch 'kvm-arm64/fixes-3.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into kvm-master
Diffstat (limited to 'drivers/misc/atmel-ssc.c')
| -rw-r--r-- | drivers/misc/atmel-ssc.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/misc/atmel-ssc.c b/drivers/misc/atmel-ssc.c index f7b90661e321..e068a76a5f6f 100644 --- a/drivers/misc/atmel-ssc.c +++ b/drivers/misc/atmel-ssc.c @@ -66,14 +66,19 @@ EXPORT_SYMBOL(ssc_request); void ssc_free(struct ssc_device *ssc) { + bool disable_clk = true; + spin_lock(&user_lock); - if (ssc->user) { + if (ssc->user) ssc->user--; - clk_disable_unprepare(ssc->clk); - } else { + else { + disable_clk = false; dev_dbg(&ssc->pdev->dev, "device already free\n"); } spin_unlock(&user_lock); + + if (disable_clk) + clk_disable_unprepare(ssc->clk); } EXPORT_SYMBOL(ssc_free); |
