Merge tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / drivers / usb / gadget / udc / core.c
index c63c0c2cf649d531da684c377a051bc35f742902..23b0629a877431325c3f2f35f900388d9494d2cb 100644 (file)
@@ -734,13 +734,13 @@ int usb_gadget_disconnect(struct usb_gadget *gadget)
        }
 
        ret = gadget->ops->pullup(gadget, 0);
-       if (!ret) {
+       if (!ret)
                gadget->connected = 0;
-               mutex_lock(&udc_lock);
-               if (gadget->udc->driver)
-                       gadget->udc->driver->disconnect(gadget);
-               mutex_unlock(&udc_lock);
-       }
+
+       mutex_lock(&udc_lock);
+       if (gadget->udc->driver)
+               gadget->udc->driver->disconnect(gadget);
+       mutex_unlock(&udc_lock);
 
 out:
        trace_usb_gadget_disconnect(gadget, ret);
@@ -1723,9 +1723,9 @@ static const struct attribute_group *usb_udc_attr_groups[] = {
        NULL,
 };
 
-static int usb_udc_uevent(struct device *dev, struct kobj_uevent_env *env)
+static int usb_udc_uevent(const struct device *dev, struct kobj_uevent_env *env)
 {
-       struct usb_udc          *udc = container_of(dev, struct usb_udc, dev);
+       const struct usb_udc    *udc = container_of(dev, struct usb_udc, dev);
        int                     ret;
 
        ret = add_uevent_var(env, "USB_UDC_NAME=%s", udc->gadget->name);