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

Commit ad5e4997 authored by Manu Gautam's avatar Manu Gautam
Browse files

usb: gsi: Prevent function remote-wakeup without function suspend



Some hosts enable function remote-wakeup immediately after
enumeration. But they don't perform function_suspend before U3
and also don't disable function remote-wakeup even if entering
deep sleep state and don't intend to wakeup from USB. One of the
reason could be that they rely on device to initiate remote-wakeup
only if it function suspended. Hence, update the check to initiate
function remote-wakeup only if device is function suspended.

Change-Id: I3d6bb817d9174f94051b1e1ef74dc9c941c66f4c
Signed-off-by: default avatarManu Gautam <mgautam@codeaurora.org>
parent 8ff9672b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -92,7 +92,8 @@ static inline bool usb_gsi_remote_wakeup_allowed(struct usb_function *f)
	struct f_gsi *gsi = func_to_gsi(f);

	if (f->config->cdev->gadget->speed >= USB_SPEED_SUPER)
		remote_wakeup_allowed = f->func_wakeup_allowed;
		remote_wakeup_allowed =
			 f->func_is_suspended ? f->func_wakeup_allowed : false;
	else
		remote_wakeup_allowed = f->config->cdev->gadget->remote_wakeup;