[PATCH] usb: ulpi: Use common error handling code in ulpi_register()
Markus Elfring <[email protected]>
| Newsgroups | org.kernel.vger.kernel-janitors,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <[email protected]> |
From: Markus Elfring <[email protected]> Date: Mon, 8 Jun 2026 14:17:57 +0200 Use an additional label so that a bit of exception handling can be better reused at the end of this function implementation. Cc: [email protected] Signed-off-by: Markus Elfring <[email protected]> --- drivers/usb/common/ulpi.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c index 9b69148128e5..1b9a4995903d 100644 --- a/drivers/usb/common/ulpi.c +++ b/drivers/usb/common/ulpi.c @@ -286,16 +286,13 @@ static int ulpi_register(struct device *dev, struct ulpi *ulpi) ACPI_COMPANION_SET(&ulpi->dev, ACPI_COMPANION(dev)); ret = ulpi_of_register(ulpi); - if (ret) { - kfree(ulpi); - return ret; - } + if (ret) + goto free_ulpi; ret = ulpi_read_id(ulpi); if (ret) { of_node_put(ulpi->dev.of_node); - kfree(ulpi); - return ret; + goto free_ulpi; } ret = device_register(&ulpi->dev); @@ -311,6 +308,10 @@ static int ulpi_register(struct device *dev, struct ulpi *ulpi) ulpi->id.vendor, ulpi->id.product); return 0; + +free_ulpi: + kfree(ulpi); + return ret; } /** -- 2.54.0