[PATCH] usb: gadget: core: force synchronous registration

John Keeping posted 1 patch 2 months, 2 weeks ago
There is a newer version of this series
drivers/usb/gadget/udc/core.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] usb: gadget: core: force synchronous registration
Posted by John Keeping 2 months, 2 weeks ago
Registering a gadget driver is expected to complete synchronously and
immediately after calling driver_register() this function checks that
the driver has bound so as to return an error.

Set PROBE_FORCE_SYNCHRONOUS to ensure this is the case even when
asynchronous probing is set as the default.

Signed-off-by: John Keeping <jkeeping@inmusicbrands.com>
---
 drivers/usb/gadget/udc/core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c
index cf6478f97f4a3..a6f46364be65f 100644
--- a/drivers/usb/gadget/udc/core.c
+++ b/drivers/usb/gadget/udc/core.c
@@ -1696,6 +1696,7 @@ int usb_gadget_register_driver_owner(struct usb_gadget_driver *driver,
 	driver->driver.bus = &gadget_bus_type;
 	driver->driver.owner = owner;
 	driver->driver.mod_name = mod_name;
+	driver->driver.probe_type = PROBE_FORCE_SYNCHRONOUS;
 	ret = driver_register(&driver->driver);
 	if (ret) {
 		pr_warn("%s: driver registration failed: %d\n",
-- 
2.46.0
Re: [PATCH] usb: gadget: core: force synchronous registration
Posted by Greg Kroah-Hartman 2 months, 2 weeks ago
On Thu, Sep 12, 2024 at 02:16:07PM +0100, John Keeping wrote:
> Registering a gadget driver is expected to complete synchronously and
> immediately after calling driver_register() this function checks that
> the driver has bound so as to return an error.
> 
> Set PROBE_FORCE_SYNCHRONOUS to ensure this is the case even when
> asynchronous probing is set as the default.
> 
> Signed-off-by: John Keeping <jkeeping@inmusicbrands.com>
> ---
>  drivers/usb/gadget/udc/core.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c
> index cf6478f97f4a3..a6f46364be65f 100644
> --- a/drivers/usb/gadget/udc/core.c
> +++ b/drivers/usb/gadget/udc/core.c
> @@ -1696,6 +1696,7 @@ int usb_gadget_register_driver_owner(struct usb_gadget_driver *driver,
>  	driver->driver.bus = &gadget_bus_type;
>  	driver->driver.owner = owner;
>  	driver->driver.mod_name = mod_name;
> +	driver->driver.probe_type = PROBE_FORCE_SYNCHRONOUS;

What commit id does this fix?

thanks,

greg k-h