usb: xhci-rcar: deregister before deactivating clock

During the execution of xhci_deregister xHCI registers are accessed. If
the clock is already deactivated when xhci_deregister is called this can
lead to undefined behavior. Change the order to deregister the device
before deactivating the clock.

Signed-off-by: Matthias Blankertz <matthias.blankertz@cetitec.com>
This commit is contained in:
Matthias Blankertz 2018-05-22 15:24:48 +02:00 committed by Marek Vasut
parent c3c8638804
commit 3f48422679

View File

@ -117,12 +117,15 @@ err_clk:
static int xhci_rcar_deregister(struct udevice *dev)
{
int ret;
struct rcar_xhci_platdata *plat = dev_get_platdata(dev);
ret = xhci_deregister(dev);
clk_disable(&plat->clk);
clk_free(&plat->clk);
return xhci_deregister(dev);
return ret;
}
static int xhci_rcar_ofdata_to_platdata(struct udevice *dev)