]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: xgene: Add missing parenthesis when clearing divider value
authorLoc Ho <lho@apm.com>
Mon, 29 Feb 2016 21:15:43 +0000 (14:15 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 30 Apr 2016 22:05:53 +0000 (00:05 +0200)
commit 0f4c7a138dfefb0ebdbaf56e3ba2acd2958a6605 upstream.

In the initial fix for non-zero divider shift value, the parenthesis
was missing after the negate operation. This patch adds the required
parenthesis. Otherwise, lower bits may be cleared unintentionally.

Signed-off-by: Loc Ho <lho@apm.com>
Acked-by: Toan Le <toanle@apm.com>
Fixes: 1382ea631ddd ("clk: xgene: Fix divider with non-zero shift value")
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/clk/clk-xgene.c

index 1ec5fe8494a157253f257cabf5249e0d82998f38..d9421f8c213b1897ba2c5de67e6a28bb44b16a96 100644 (file)
@@ -351,8 +351,8 @@ static int xgene_clk_set_rate(struct clk_hw *hw, unsigned long rate,
                /* Set new divider */
                data = xgene_clk_read(pclk->param.divider_reg +
                                pclk->param.reg_divider_offset);
-               data &= ~((1 << pclk->param.reg_divider_width) - 1)
-                               << pclk->param.reg_divider_shift;
+               data &= ~(((1 << pclk->param.reg_divider_width) - 1)
+                               << pclk->param.reg_divider_shift);
                data |= divider;
                xgene_clk_write(data, pclk->param.divider_reg +
                                        pclk->param.reg_divider_offset);