Because usb_hub uses same device tree node with USB controller device, when probe and remove usb_hub, it will call the power domain control of USB controller device. This is not expected, because power domain control implmentation may not have count when the power domain is dedicated for USB controller. So once removed usb_hub, the power domain is power off before removing USB controller.
Signed-off-by: Ye Li <ye...@nxp.com> --- common/usb_hub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/usb_hub.c b/common/usb_hub.c index ba11a18..990993a 100644 --- a/common/usb_hub.c +++ b/common/usb_hub.c @@ -950,7 +950,7 @@ U_BOOT_DRIVER(usb_generic_hub) = { .name = "usb_hub", .id = UCLASS_USB_HUB, .of_match = usb_hub_ids, - .flags = DM_FLAG_ALLOC_PRIV_DMA, + .flags = DM_FLAG_ALLOC_PRIV_DMA | DM_FLAG_DEFAULT_PD_CTRL_OFF, }; UCLASS_DRIVER(usb_hub) = { -- 2.7.4