diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pinctrl/pinmux.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c index 88cc5095d0c9..5f5158856ea9 100644 --- a/drivers/pinctrl/pinmux.c +++ b/drivers/pinctrl/pinmux.c | |||
@@ -482,13 +482,13 @@ void pinmux_disable_setting(struct pinctrl_setting const *setting) | |||
482 | pins[i]); | 482 | pins[i]); |
483 | continue; | 483 | continue; |
484 | } | 484 | } |
485 | desc->mux_setting = NULL; | 485 | if (desc->mux_setting == &(setting->data.mux)) { |
486 | desc->mux_setting = NULL; | ||
487 | /* And release the pin */ | ||
488 | pin_free(pctldev, pins[i], NULL); | ||
489 | } | ||
486 | } | 490 | } |
487 | 491 | ||
488 | /* And release the pins */ | ||
489 | for (i = 0; i < num_pins; i++) | ||
490 | pin_free(pctldev, pins[i], NULL); | ||
491 | |||
492 | if (ops->disable) | 492 | if (ops->disable) |
493 | ops->disable(pctldev, setting->data.mux.func, setting->data.mux.group); | 493 | ops->disable(pctldev, setting->data.mux.func, setting->data.mux.group); |
494 | } | 494 | } |