Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb2b2804 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "USB: configfs: Don't send DISCONNECT uevent during unbind"

parents 1496b601 83e000ad
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ struct gadget_info {
	struct usb_composite_driver composite;
	struct usb_composite_dev cdev;
	bool use_os_desc;
	bool unbinding;
	char b_vendor_code;
	char qw_sign[OS_STRING_QW_SIGN_LEN];
#ifdef CONFIG_USB_CONFIGFS_UEVENT
@@ -287,9 +288,12 @@ static int unregister_gadget(struct gadget_info *gi)
	if (!gi->composite.gadget_driver.udc_name)
		return -ENODEV;

	gi->unbinding = true;
	ret = usb_gadget_unregister_driver(&gi->composite.gadget_driver);
	if (ret)
		return ret;

	gi->unbinding = false;
	kfree(gi->composite.gadget_driver.udc_name);
	gi->composite.gadget_driver.udc_name = NULL;
	return 0;
@@ -1570,6 +1574,7 @@ static void android_disconnect(struct usb_gadget *gadget)
	acc_disconnect();
#endif
	gi->connected = 0;
	if (!gi->unbinding)
		schedule_work(&gi->work);
	composite_disconnect(gadget);
}