mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 00:54:09 +08:00
pinctrl: zte: fix dereference of 'data' in zx_set_mux()
It fixes the following Smatch complaint:
drivers/pinctrl/zte/pinctrl-zx.c:76 zx_set_mux()
warn: variable dereferenced before check 'data' (see line 67)
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: cbff0c4d27
("pinctrl: add ZTE ZX pinctrl driver support")
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
16f73eb02d
commit
b962e2cd35
@ -64,10 +64,8 @@ static int zx_set_mux(struct pinctrl_dev *pctldev, unsigned int func_selector,
|
||||
struct zx_pinctrl_soc_info *info = zpctl->info;
|
||||
const struct pinctrl_pin_desc *pindesc = info->pins + group_selector;
|
||||
struct zx_pin_data *data = pindesc->drv_data;
|
||||
struct zx_mux_desc *mux = data->muxes;
|
||||
u32 mask = (1 << data->width) - 1;
|
||||
u32 offset = data->offset;
|
||||
u32 bitpos = data->bitpos;
|
||||
struct zx_mux_desc *mux;
|
||||
u32 mask, offset, bitpos;
|
||||
struct function_desc *func;
|
||||
unsigned long flags;
|
||||
u32 val, mval;
|
||||
@ -76,6 +74,11 @@ static int zx_set_mux(struct pinctrl_dev *pctldev, unsigned int func_selector,
|
||||
if (!data)
|
||||
return -EINVAL;
|
||||
|
||||
mux = data->muxes;
|
||||
mask = (1 << data->width) - 1;
|
||||
offset = data->offset;
|
||||
bitpos = data->bitpos;
|
||||
|
||||
func = pinmux_generic_get_function(pctldev, func_selector);
|
||||
if (!func)
|
||||
return -EINVAL;
|
||||
|
Loading…
Reference in New Issue
Block a user