Skip to content

Commit ea14bae

Browse files
Ivan Abramovsre
authored andcommitted
power: supply: wm831x: Check wm831x_set_bits() return value
Since wm831x_set_bits() may return error, log failure and exit from wm831x_usb_limit_change() in such case. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: 626b6cd ("power: wm831x_power: Support USB charger current limit management") Signed-off-by: Ivan Abramov <i.abramov@mt-integration.ru> Link: https://patch.msgid.link/20251009170553.566561-1-i.abramov@mt-integration.ru Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
1 parent 15aca30 commit ea14bae

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

drivers/power/supply/wm831x_power.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ static int wm831x_usb_limit_change(struct notifier_block *nb,
144144
struct wm831x_power,
145145
usb_notify);
146146
unsigned int i, best;
147+
int ret;
147148

148149
/* Find the highest supported limit */
149150
best = 0;
@@ -156,8 +157,13 @@ static int wm831x_usb_limit_change(struct notifier_block *nb,
156157
dev_dbg(wm831x_power->wm831x->dev,
157158
"Limiting USB current to %umA", wm831x_usb_limits[best]);
158159

159-
wm831x_set_bits(wm831x_power->wm831x, WM831X_POWER_STATE,
160-
WM831X_USB_ILIM_MASK, best);
160+
ret = wm831x_set_bits(wm831x_power->wm831x, WM831X_POWER_STATE,
161+
WM831X_USB_ILIM_MASK, best);
162+
if (ret < 0) {
163+
dev_err(wm831x_power->wm831x->dev,
164+
"Failed to set USB current limit: %d\n", ret);
165+
return ret;
166+
}
161167

162168
return 0;
163169
}

0 commit comments

Comments
 (0)