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

Commit fcd10cd3 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: android: Stop controller before disabling endpoints for USB2"

parents acd5160d 745f83fe
Loading
Loading
Loading
Loading
+17 −6
Original line number Original line Diff line number Diff line
@@ -532,6 +532,7 @@ static void android_disable(struct android_dev *dev)
	struct android_configuration *conf;
	struct android_configuration *conf;


	if (dev->disable_depth++ == 0) {
	if (dev->disable_depth++ == 0) {
		if (gadget_is_dwc3(cdev->gadget)) {
			/* Cancel pending control requests */
			/* Cancel pending control requests */
			usb_ep_dequeue(cdev->gadget->ep0, cdev->req);
			usb_ep_dequeue(cdev->gadget->ep0, cdev->req);


@@ -539,6 +540,16 @@ static void android_disable(struct android_dev *dev)
				usb_remove_config(cdev, &conf->usb_config);
				usb_remove_config(cdev, &conf->usb_config);
			usb_gadget_disconnect(cdev->gadget);
			usb_gadget_disconnect(cdev->gadget);
			dev->last_disconnect = ktime_get();
			dev->last_disconnect = ktime_get();
		} else {
			usb_gadget_disconnect(cdev->gadget);
			dev->last_disconnect = ktime_get();

			/* Cancel pnding control requests */
			usb_ep_dequeue(cdev->gadget->ep0, cdev->req);

			list_for_each_entry(conf, &dev->configs, list_item)
				usb_remove_config(cdev, &conf->usb_config);
		}
	}
	}
}
}