diff options
| -rw-r--r-- | arch/arm/plat-samsung/clock.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/plat-samsung/clock.c b/arch/arm/plat-samsung/clock.c index 80eacca4682a..d1116e2dfbea 100644 --- a/arch/arm/plat-samsung/clock.c +++ b/arch/arm/plat-samsung/clock.c | |||
| @@ -144,6 +144,7 @@ long clk_round_rate(struct clk *clk, unsigned long rate) | |||
| 144 | 144 | ||
| 145 | int clk_set_rate(struct clk *clk, unsigned long rate) | 145 | int clk_set_rate(struct clk *clk, unsigned long rate) |
| 146 | { | 146 | { |
| 147 | unsigned long flags; | ||
| 147 | int ret; | 148 | int ret; |
| 148 | 149 | ||
| 149 | if (IS_ERR(clk)) | 150 | if (IS_ERR(clk)) |
| @@ -159,9 +160,9 @@ int clk_set_rate(struct clk *clk, unsigned long rate) | |||
| 159 | if (clk->ops == NULL || clk->ops->set_rate == NULL) | 160 | if (clk->ops == NULL || clk->ops->set_rate == NULL) |
| 160 | return -EINVAL; | 161 | return -EINVAL; |
| 161 | 162 | ||
| 162 | spin_lock(&clocks_lock); | 163 | spin_lock_irqsave(&clocks_lock, flags); |
| 163 | ret = (clk->ops->set_rate)(clk, rate); | 164 | ret = (clk->ops->set_rate)(clk, rate); |
| 164 | spin_unlock(&clocks_lock); | 165 | spin_unlock_irqrestore(&clocks_lock, flags); |
| 165 | 166 | ||
| 166 | return ret; | 167 | return ret; |
| 167 | } | 168 | } |
