Skip to content

Commit

Permalink
USB: typec: tps6598x: Fix a memory leak in an error handling path
Browse files Browse the repository at this point in the history
All error handling end to the error handling path, except these ones.
Go to 'release_fw' as well here, otherwise 'fw' is leaking.

Fixes: 7e7a3c8 ("USB: typec: tps6598x: Add TPS25750 support")
Signed-off-by: Christophe JAILLET <[email protected]>
Acked-by: Heikki Krogerus <[email protected]>
Link: https://lore.kernel.org/r/23168336f18a9f6cb1a5b47130fc134dc0510d7f.1698648980.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
tititiou36 authored and gregkh committed Nov 21, 2023
1 parent a6fe37f commit cdd0cde
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions drivers/usb/typec/tipd/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -968,16 +968,17 @@ static int tps25750_start_patch_burst_mode(struct tps6598x *tps)
ret = of_property_match_string(np, "reg-names", "patch-address");
if (ret < 0) {
dev_err(tps->dev, "failed to get patch-address %d\n", ret);
return ret;
goto release_fw;
}

ret = of_property_read_u32_index(np, "reg", ret, &addr);
if (ret)
return ret;
goto release_fw;

if (addr == 0 || (addr >= 0x20 && addr <= 0x23)) {
dev_err(tps->dev, "wrong patch address %u\n", addr);
return -EINVAL;
ret = -EINVAL;
goto release_fw;
}

bpms_data.addr = (u8)addr;
Expand Down

0 comments on commit cdd0cde

Please sign in to comment.