Skip to content

Commit 488fb6e

Browse files
kmaincentkuba-moo
authored andcommitted
net: pse-pd: Fix deadlock in current limit functions
Fix a deadlock in pse_pi_get_current_limit and pse_pi_set_current_limit caused by consecutive mutex_lock calls. One in the function itself and another in pse_pi_get_voltage. Resolve the issue by using the unlocked version of pse_pi_get_voltage instead. Fixes: e0a5e2b ("net: pse-pd: Use power limit at driver side instead of current limit") Signed-off-by: Kory Maincent <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 540cda7 commit 488fb6e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/net/pse-pd/pse_core.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ static int pse_pi_get_current_limit(struct regulator_dev *rdev)
319319
goto out;
320320
mW = ret;
321321

322-
ret = pse_pi_get_voltage(rdev);
322+
ret = _pse_pi_get_voltage(rdev);
323323
if (!ret) {
324324
dev_err(pcdev->dev, "Voltage null\n");
325325
ret = -ERANGE;
@@ -356,7 +356,7 @@ static int pse_pi_set_current_limit(struct regulator_dev *rdev, int min_uA,
356356

357357
id = rdev_get_id(rdev);
358358
mutex_lock(&pcdev->lock);
359-
ret = pse_pi_get_voltage(rdev);
359+
ret = _pse_pi_get_voltage(rdev);
360360
if (!ret) {
361361
dev_err(pcdev->dev, "Voltage null\n");
362362
ret = -ERANGE;

0 commit comments

Comments
 (0)