usb: gadget: tegra-xudc: Fix idle suspend/resume
authorThierry Reding <treding@nvidia.com>
Fri, 17 Apr 2020 17:05:37 +0000 (19:05 +0200)
committerFelipe Balbi <balbi@kernel.org>
Sat, 9 May 2020 08:05:08 +0000 (11:05 +0300)
commit0534d40160cb9505073b0ecf5e7210daee319a66
tree4ee0827215ebfb2584452a7048fe1e83d87bea95
parentccaef7e6e354fb65758eaddd3eae8065a8b3e295
usb: gadget: tegra-xudc: Fix idle suspend/resume

When the XUDC device is idle (i.e. powergated), care must be taken not
to access any registers because that would lead to a crash.

Move the call to tegra_xudc_device_mode_off() into the same conditional
as the tegra_xudc_powergate() call to make sure we only force device
mode off if the XUDC is actually powered up.

Fixes: 49db427232fe ("usb: gadget: Add UDC driver for tegra XUSB device mode controller")
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/gadget/udc/tegra-xudc.c