| From 19b26d92dfb70f56440c187a20c49102ab648b97 Mon Sep 17 00:00:00 2001 |
| From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| Date: Tue, 24 Jan 2017 17:28:22 +0200 |
| Subject: pinctrl: intel: merrifield: Add missed check in mrfld_config_set() |
| |
| From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| |
| 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> |
| |
| --- |
| drivers/pinctrl/intel/pinctrl-merrifield.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/pinctrl/intel/pinctrl-merrifield.c |
| +++ b/drivers/pinctrl/intel/pinctrl-merrifield.c |
| @@ -794,6 +794,9 @@ static int mrfld_config_set(struct pinct |
| unsigned int i; |
| int ret; |
| |
| + if (!mrfld_buf_available(mp, pin)) |
| + return -ENOTSUPP; |
| + |
| for (i = 0; i < nconfigs; i++) { |
| switch (pinconf_to_config_param(configs[i])) { |
| case PIN_CONFIG_BIAS_DISABLE: |