Commit 61d1bb53 authored by Haotian Zhang's avatar Haotian Zhang Committed by Linus Walleij
Browse files

pinctrl: single: Fix incorrect type for error return variable



pcs_pinconf_get() and pcs_pinconf_set() declare ret as unsigned int,
but assign it the return values of pcs_get_function() that may return
negative error codes. This causes negative error codes to be
converted to large positive values.

Change ret from unsigned int to int in both functions.

Fixes: 9dddb4df ("pinctrl: single: support generic pinconf")
Signed-off-by: default avatarHaotian Zhang <vulab@iscas.ac.cn>
Signed-off-by: default avatarLinus Walleij <linusw@kernel.org>
parent ac52b4a9
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -485,7 +485,8 @@ static int pcs_pinconf_get(struct pinctrl_dev *pctldev,
	struct pcs_device *pcs = pinctrl_dev_get_drvdata(pctldev);
	struct pcs_function *func;
	enum pin_config_param param;
	unsigned offset = 0, data = 0, i, j, ret;
	unsigned offset = 0, data = 0, i, j;
	int ret;

	ret = pcs_get_function(pctldev, pin, &func);
	if (ret)
@@ -549,9 +550,9 @@ static int pcs_pinconf_set(struct pinctrl_dev *pctldev,
{
	struct pcs_device *pcs = pinctrl_dev_get_drvdata(pctldev);
	struct pcs_function *func;
	unsigned offset = 0, shift = 0, i, data, ret;
	unsigned offset = 0, shift = 0, i, data;
	u32 arg;
	int j;
	int j, ret;
	enum pin_config_param param;

	ret = pcs_get_function(pctldev, pin, &func);