diff mbox series

usb: gadget: core: force synchronous registration

Message ID 20240912131608.1645554-1-jkeeping@inmusicbrands.com (mailing list archive)
State Superseded
Headers show
Series usb: gadget: core: force synchronous registration | expand

Commit Message

John Keeping Sept. 12, 2024, 1:16 p.m. UTC
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(+)

Comments

Greg Kroah-Hartman Sept. 12, 2024, 1:34 p.m. UTC | #1
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
diff mbox series

Patch

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",