drivers/usb/core/driver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
The goto to 'exit' only returns the already initialized variable
'error', which would be 0. At that point it could not yet be anything
else. Replacing with an early return 0 removes the
need for the label entirely.
Signed-off-by: Mark Adamenko <marusik.adamenko@gmail.com>
---
v3: fix missing return statement at end of function
---
drivers/usb/core/driver.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index 2574e65bc640..752ff84a8dc1 100644
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -186,7 +186,7 @@ static int usb_create_newid_files(struct usb_driver *usb_drv)
int error = 0;
if (usb_drv->no_dynamic_id)
- goto exit;
+ return 0;
if (usb_drv->probe != NULL) {
error = driver_create_file(&usb_drv->driver,
@@ -199,7 +199,7 @@ static int usb_create_newid_files(struct usb_driver *usb_drv)
&driver_attr_new_id);
}
}
-exit:
+
return error;
}
--
2.53.0
On Wed, Mar 04, 2026 at 07:58:12AM -0800, Mark Adamenko wrote: > The goto to 'exit' only returns the already initialized variable > 'error', which would be 0. At that point it could not yet be anything > else. Replacing with an early return 0 removes the > need for the label entirely. Odd text wrapping :( > > Signed-off-by: Mark Adamenko <marusik.adamenko@gmail.com> > --- > v3: fix missing return statement at end of function > --- You forgot the other versions listed here :( > drivers/usb/core/driver.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) But first, why? There's no real need for this change, why make it at all? It follows the "standard" way of jumping to the end of the function to exit. What tool asked you to make this change? thanks, greg k-h
Thanks for responding, I wasn't suggested by any tool. I was advised that if I want to become a contributor, I should start by finding something small, so I came across this file and found the goto. I understand it's not a big change, but the kernel style guide says: "The goto statement comes in handy when a function exits from multiple locations and some common work such as cleanup has to be done. If there is no cleanup needed then just return directly." The original function only exits at the exit case and at the end of the function, without extra cleanup. On 3/4/26 08:11, Greg KH wrote: > On Wed, Mar 04, 2026 at 07:58:12AM -0800, Mark Adamenko wrote: >> The goto to 'exit' only returns the already initialized variable >> 'error', which would be 0. At that point it could not yet be anything >> else. Replacing with an early return 0 removes the >> need for the label entirely. > > Odd text wrapping :( > >> >> Signed-off-by: Mark Adamenko <marusik.adamenko@gmail.com> >> --- >> v3: fix missing return statement at end of function >> --- > > You forgot the other versions listed here :( > >> drivers/usb/core/driver.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) > > But first, why? There's no real need for this change, why make it at > all? It follows the "standard" way of jumping to the end of the > function to exit. What tool asked you to make this change? > > thanks, > > greg k-h
On Wed, Mar 04, 2026 at 09:35:42AM -0800, Mark Adamenko wrote: > Thanks for responding, > I wasn't suggested by any tool. I was advised that if I want to become a > contributor, I should start by finding something small, I recommend starting in drivers/staging/ and not causing unnecessary churn in other parts of the kernel, as you learn the development process. That's what that part of the kernel is for. Also, please don't top-post :) thanks, greg k-h
© 2016 - 2026 Red Hat, Inc.