linux/drivers/usb
Artur Petrosyan ce7b62d857 usb: dwc2: Fix hibernation between host and device modes.
[ Upstream commit 24d209dba5a3959b2ebde7cf3ad40c8015e814cf ]

When core is in hibernation in host mode and a device cable
was connected then driver exited from device hibernation.
However, registers saved for host mode and when exited from
device hibernation register restore would be done for device
register which was wrong because there was no device registers
stored to restore.

- Added dwc_handle_gpwrdn_disc_det() function which handles
  gpwrdn disconnect detect flow and exits hibernation
  without restoring the registers.
- Updated exiting from hibernation in GPWRDN_STS_CHGINT with
  calling dwc_handle_gpwrdn_disc_det() function. Here no register
  is restored which is the solution described above.

Fixes: 65c9c4c6b0 ("usb: dwc2: Add dwc2_handle_gpwrdn_intr() handler")
Acked-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Signed-off-by: Artur Petrosyan <Arthur.Petrosyan@synopsys.com>
Signed-off-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Link: https://lore.kernel.org/r/20210416124715.75355A005D@mailhost.synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-14 09:44:23 +02:00
..
atm
c67x00
cdns3 usb: cdns3: gadget: suspicious implicit sign extension 2020-11-10 12:37:31 +01:00
chipidea usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data() 2021-01-12 20:16:18 +01:00
class USB: cdc-acm: fix TIOCGSERIAL implementation 2021-05-14 09:44:21 +02:00
common
core usb: core: hub: Fix PM reference leak in usb_port_resume() 2021-05-11 14:04:07 +02:00
dwc2 usb: dwc2: Fix hibernation between host and device modes. 2021-05-14 09:44:23 +02:00
dwc3 usb: dwc3: gadget: Fix START_TRANSFER link state check 2021-05-11 14:04:17 +02:00
early
gadget usb: gadget: r8a66597: Add missing null check on return from platform_get_resource 2021-05-14 09:44:21 +02:00
host usb: xhci-mtk: improve bandwidth scheduling with TT 2021-05-14 09:44:11 +02:00
image
isp1760
misc USB: yurex: fix control-URB timeout handling 2021-01-12 20:16:20 +01:00
mon
mtu3 usb: mtu3: fix memory corruption in mtu3_debugfs_regset() 2020-12-30 11:50:58 +01:00
musb usb: musb: fix PM reference leak in musb_irq_work() 2021-05-11 14:04:07 +02:00
phy
renesas_usbhs usb: renesas_usbhs: Clear PIPECFG for re-enabling pipe with other EPNUM 2021-03-17 17:03:50 +01:00
roles
serial USB: serial: ti_usb_3410_5052: fix TIOCSSERIAL permission check 2021-05-14 09:44:10 +02:00
storage usb-storage: Add quirk to defeat Kindle's automatic unload 2021-03-24 11:26:40 +01:00
typec usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS 2021-05-14 09:44:17 +02:00
usbip usbip: vudc: fix missing unlock on error in usbip_sockfd_store() 2021-05-14 09:44:22 +02:00
Kconfig
Makefile
usb-skeleton.c