diff options
Diffstat (limited to 'drivers/usb/gadget/configfs.c')
-rw-r--r-- | drivers/usb/gadget/configfs.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c index 15a607ccef8a..477e72a1d11e 100644 --- a/drivers/usb/gadget/configfs.c +++ b/drivers/usb/gadget/configfs.c @@ -55,7 +55,7 @@ struct gadget_info { static inline struct gadget_info *to_gadget_info(struct config_item *item) { - return container_of(to_config_group(item), struct gadget_info, group); + return container_of(to_config_group(item), struct gadget_info, group); } struct config_usb_cfg { @@ -365,21 +365,21 @@ static struct configfs_attribute *gadget_root_attrs[] = { static inline struct gadget_strings *to_gadget_strings(struct config_item *item) { - return container_of(to_config_group(item), struct gadget_strings, + return container_of(to_config_group(item), struct gadget_strings, group); } static inline struct gadget_config_name *to_gadget_config_name( struct config_item *item) { - return container_of(to_config_group(item), struct gadget_config_name, + return container_of(to_config_group(item), struct gadget_config_name, group); } static inline struct usb_function_instance *to_usb_function_instance( struct config_item *item) { - return container_of(to_config_group(item), + return container_of(to_config_group(item), struct usb_function_instance, group); } @@ -1404,6 +1404,10 @@ static int configfs_composite_bind(struct usb_gadget *gadget, goto err_purge_funcs; } } + ret = usb_gadget_check_config(cdev->gadget); + if (ret) + goto err_purge_funcs; + usb_ep_autoconfig_reset(cdev->gadget); } if (cdev->use_os_string) { |