aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-samsung/clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-samsung/clock.c')
-rw-r--r--arch/arm/plat-samsung/clock.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/plat-samsung/clock.c b/arch/arm/plat-samsung/clock.c
index 65c5eca475e7..80eacca4682a 100644
--- a/arch/arm/plat-samsung/clock.c
+++ b/arch/arm/plat-samsung/clock.c
@@ -173,17 +173,18 @@ struct clk *clk_get_parent(struct clk *clk)
173 173
174int clk_set_parent(struct clk *clk, struct clk *parent) 174int clk_set_parent(struct clk *clk, struct clk *parent)
175{ 175{
176 unsigned long flags;
176 int ret = 0; 177 int ret = 0;
177 178
178 if (IS_ERR(clk)) 179 if (IS_ERR(clk))
179 return -EINVAL; 180 return -EINVAL;
180 181
181 spin_lock(&clocks_lock); 182 spin_lock_irqsave(&clocks_lock, flags);
182 183
183 if (clk->ops && clk->ops->set_parent) 184 if (clk->ops && clk->ops->set_parent)
184 ret = (clk->ops->set_parent)(clk, parent); 185 ret = (clk->ops->set_parent)(clk, parent);
185 186
186 spin_unlock(&clocks_lock); 187 spin_unlock_irqrestore(&clocks_lock, flags);
187 188
188 return ret; 189 return ret;
189} 190}