usb: dwc2: Prevent core suspend when port connection flag is 0
A message that is not in the archive (sent off-list or not yet received): [email protected]
Minas Harutyunyan
Acked-byQuoted 8 lines · Artur Petrosyan
In host mode port connection status flag is "0" when loading the driver. After loading the driver system asserts suspend which is handled by "
_dwc2_hcd_suspend()" function. Before the system suspend the port connection status is "0". As result need to check the "port_connect_status" if it is "0", then skipping entering to suspend.Signed-off-by Artur Petrosyan <[email protected]>
Quoted 19 lines
--- drivers/usb/dwc2/hcd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)drivers/usb/dwc2/hcd.c +2
-1@@ -4322,7 +4322,8 @@ static int _dwc2_hcd_suspend(struct usb_hcd *hcd)if (hsotg->op_state ==OTG_STATE_B_PERIPHERAL ) goto unlock; -if (hsotg->params.power_down >DWC2_POWER_DOWN_PARAM_PARTIAL ) +if (hsotg->params.power_down !=DWC2_POWER_DOWN_PARAM_PARTIAL || + hsotg->flags.b.port_connect_status ==0 ) goto skip_power_saving;/*
Greg Kroah-Hartman
maintainerQuoted 6 lines · Artur Petrosyan
In host mode port connection status flag is "0" when loading the driver. After loading the driver system asserts suspend which is handled by "
_dwc2_hcd_suspend()" function. Before the system suspend the port connection status is "0". As result need to check the "port_connect_status" if it is "0", then skipping entering to suspend.
As before, is this a bugfix and needs to go to stable kernels? If so, what commit does this fix?
thanks,
greg k-h