diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2017-01-24 10:28:22 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-02-09 02:08:29 -0500 |
commit | 3d8ec7d2d5f9fdb83617f044ad9bcfa3cf6830b9 (patch) | |
tree | 7d7b7d7296c6fbb8f9ad9e84818f41100ba311a1 | |
parent | 2cf6c49264e40e395e73fef11f487b10b05548b4 (diff) |
pinctrl: intel: merrifield: Add missed check in mrfld_config_set()
commit 19b26d92dfb70f56440c187a20c49102ab648b97 upstream.
Not every pin can be configured. Add missed check to prevent access
violation.
Fixes: 4e80c8f50574 ("pinctrl: intel: Add Intel Merrifield pin controller support")
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/pinctrl/intel/pinctrl-merrifield.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pinctrl/intel/pinctrl-merrifield.c b/drivers/pinctrl/intel/pinctrl-merrifield.c index 7826c7f0cb7c..9931be6af0ca 100644 --- a/drivers/pinctrl/intel/pinctrl-merrifield.c +++ b/drivers/pinctrl/intel/pinctrl-merrifield.c | |||
@@ -794,6 +794,9 @@ static int mrfld_config_set(struct pinctrl_dev *pctldev, unsigned int pin, | |||
794 | unsigned int i; | 794 | unsigned int i; |
795 | int ret; | 795 | int ret; |
796 | 796 | ||
797 | if (!mrfld_buf_available(mp, pin)) | ||
798 | return -ENOTSUPP; | ||
799 | |||
797 | for (i = 0; i < nconfigs; i++) { | 800 | for (i = 0; i < nconfigs; i++) { |
798 | switch (pinconf_to_config_param(configs[i])) { | 801 | switch (pinconf_to_config_param(configs[i])) { |
799 | case PIN_CONFIG_BIAS_DISABLE: | 802 | case PIN_CONFIG_BIAS_DISABLE: |