From: John Crispin Date: Mon, 12 Sep 2016 09:36:55 +0000 (+0200) Subject: pinctrl: qcom: fix masking of pinmux functions X-Git-Tag: v4.9-rc1~123^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6bcf3f63394b9c4f133e4499349d786d7f531473;p=platform%2Fkernel%2Flinux-amlogic.git pinctrl: qcom: fix masking of pinmux functions The following commit introduced a regression by not properly masking the calculated value. Fixes: 47a01ee9a6c3 ("pinctrl: qcom: Clear all function selection bits") Signed-off-by: John Crispin Reviewed-by: Bjorn Andersson Reviewed-by: Stephen Boyd Signed-off-by: Linus Walleij --- diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 51c42d746883..775c88303017 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -156,7 +156,7 @@ static int msm_pinmux_set_mux(struct pinctrl_dev *pctldev, spin_lock_irqsave(&pctrl->lock, flags); val = readl(pctrl->regs + g->ctl_reg); - val &= mask; + val &= ~mask; val |= i << g->mux_bit; writel(val, pctrl->regs + g->ctl_reg);