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

Commit 4824a573 authored by Chandana Kishori Chiluveru's avatar Chandana Kishori Chiluveru
Browse files

usb: f_gsi: Disable function remote wake-up capability for DPL



If driver allows function remote wake-up for DPL interface.
windows10/8 host may suspend the DPL function in SS mode.
When we receive Function Suspend for usb interface. gsi_suspend()
blocks ringing of doorbell by USB controller to IPA GSI and schedule
usb_ipa_w work with event EVNT_SUSPE. This will block the GSI to IPA
path for other GSI interfaces in the compositions.

Hence disable function remote wake-up capability for DPL interface.

Change-Id: Ic2da104a48bc14aa2f2912544a9b5fa1c5de8596
Signed-off-by: default avatarChandana Kishori Chiluveru <cchiluve@codeaurora.org>
parent d77ce925
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2538,6 +2538,11 @@ static void gsi_resume(struct usb_function *f)
static int gsi_get_status(struct usb_function *f)
{
	unsigned int remote_wakeup_en_status = f->func_wakeup_allowed ? 1 : 0;
	struct f_gsi *gsi = func_to_gsi(f);

	/* Disable function remote wake-up for DPL interface */
	if (gsi->prot_id == USB_PROT_DIAG_IPA)
		return 0;

	return (remote_wakeup_en_status << FUNC_WAKEUP_ENABLE_SHIFT) |
		(1 << FUNC_WAKEUP_CAPABLE_SHIFT);