[PATCH] usb: ulpi: Use common error handling code in ulpi_register()

From: Markus Elfring

Date: Mon Jun 08 2026 - 08:35:47 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
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: stable@xxxxxxxxxxxxxxx
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
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