This error path returns 1, but it should instead propagate the negative error code from winbond_sio_enter().
Unified · Split
| @@ -385,12 +385,13 @@ static int winbond_gpio_get(struct gpio_chip *gc, unsigned int offset) · 384 unmodified lines | ||
| 385 | 385 | unsigned long *base = gpiochip_get_data(gc); |
| 386 | 386 | const struct winbond_gpio_info *info; |
| 387 | 387 | bool val; |
| 388 | + int ret; | |
| 388 | 389 | |
| 389 | 390 | winbond_gpio_get_info(&offset, &info); |
| 390 | 391 | |
| 391 | − val = winbond_sio_enter(*base); | |
| 392 | − if (val) | |
| 393 | − return val; | |
| 392 | + ret = winbond_sio_enter(*base); | |
| 393 | + if (ret) | |
| 394 | + return ret; | |
| 394 | 395 | |
| 395 | 396 | winbond_sio_select_logical(*base, info->dev); |
| 396 | 397 | |