Browse Source

pinctrl: plgpio: Call clk_disable_unprepare only if clk_prepare_enable is called

This driver allows clk_get() failure, and still work without it.
This patch adds !IS_ERR(plgpio->clk) checking in plgpio_request() error path
so we only call clk_disable_unprepare() if clk_prepare_enable() is called.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Axel Lin 12 years ago
parent
commit
9804049097
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/pinctrl/spear/pinctrl-plgpio.c

+ 2 - 1
drivers/pinctrl/spear/pinctrl-plgpio.c

@@ -243,7 +243,8 @@ static int plgpio_request(struct gpio_chip *chip, unsigned offset)
 	return 0;
 
 err1:
-	clk_disable_unprepare(plgpio->clk);
+	if (!IS_ERR(plgpio->clk))
+		clk_disable_unprepare(plgpio->clk);
 err0:
 	pinctrl_free_gpio(gpio);
 	return ret;