pinctrl: sprd: fix off by one bugs

info->groups[] has info->ngroups elements so these comparisons should be
>= instead of >.

Fixes: 41d32cfce1 ("pinctrl: sprd: Add Spreadtrum pin control driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Baolin Wang <baolin.wang@spreadtrum.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Dan Carpenter 2017-09-07 14:12:05 +03:00 коммит произвёл Linus Walleij
Родитель 41470c379b
Коммит 4ce504c4eb
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -400,7 +400,7 @@ static int sprd_pmx_set_mux(struct pinctrl_dev *pctldev,
unsigned long reg;
unsigned int val = 0;
if (group_selector > info->ngroups)
if (group_selector >= info->ngroups)
return -EINVAL;
switch (func_selector) {
@ -734,7 +734,7 @@ static int sprd_pinconf_group_get(struct pinctrl_dev *pctldev,
struct sprd_pin_group *grp;
unsigned int pin_id;
if (selector > info->ngroups)
if (selector >= info->ngroups)
return -EINVAL;
grp = &info->groups[selector];
@ -753,7 +753,7 @@ static int sprd_pinconf_group_set(struct pinctrl_dev *pctldev,
struct sprd_pin_group *grp;
int ret, i;
if (selector > info->ngroups)
if (selector >= info->ngroups)
return -EINVAL;
grp = &info->groups[selector];
@ -813,7 +813,7 @@ static void sprd_pinconf_group_dbg_show(struct pinctrl_dev *pctldev,
const char *name;
int i, ret;
if (selector > info->ngroups)
if (selector >= info->ngroups)
return;
grp = &info->groups[selector];