i2c: wmt: add missing clk_disable_unprepare() on error
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Mon, 11 Nov 2013 14:23:50 +0000 (22:23 +0800)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 14 Nov 2013 17:57:32 +0000 (18:57 +0100)
Add the missing clk_disable_unprepare() before return
from wmt_i2c_reset_hardware() in the error handling case.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Cc: stable@kernel.org # 3.11+
drivers/i2c/busses/i2c-wmt.c

index c65da3d913a03d11ed13d62c17d7dffb3fb097bf..4bf9507cd1a1e3ebc7b7b22e6ab776d097cde3ae 100644 (file)
@@ -349,6 +349,7 @@ static int wmt_i2c_reset_hardware(struct wmt_i2c_dev *i2c_dev)
        err = clk_set_rate(i2c_dev->clk, 20000000);
        if (err) {
                dev_err(i2c_dev->dev, "failed to set clock = 20Mhz\n");
+               clk_disable_unprepare(i2c_dev->clk);
                return err;
        }