[PATCH] pinctrl: qcom: fix masking of pinmux functions

From: John Crispin
Date: Mon Sep 12 2016 - 05:37:47 EST


The following commit introduced a regression by not properly masking the
calculated value.

commit 47a01ee9a6c39fe1 ("pinctrl: qcom: Clear all function selection bits")

Signed-off-by: John Crispin <john@xxxxxxxxxxx>
---
drivers/pinctrl/qcom/pinctrl-msm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
index 51c42d7..775c883 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);

--
1.7.10.4