1、操作:
开机前插入了usb摄像头
2、现象:
主板的usb口无法识别到摄像头,vid/pid无法识别;拔掉重插,仍然无法识别,摄像头呈黑屏状态。
3、原因:
开机前插入摄像头,在开机启动过程中会随着开机启动识别上一次,(可以见debug串口的打印)然后随着开机进入休眠状态,外部再次进行插拔会无法唤醒。
4、解决:
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 581bd13a0488..464c5390a7a1 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -1793,6 +1793,7 @@ static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id)
pm_runtime_set_autosuspend_delay(&hdev->dev, 0);
#endif
+#if 0
/*
* Hubs have proper suspend/resume support, except for root hubs
* where the controller driver doesn't have bus_suspend and
@@ -1807,7 +1808,7 @@ static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id)
if (drv->bus_suspend && drv->bus_resume)
usb_enable_autosuspend(hdev);
}
-
+#endif
if (hdev->level == MAX_TOPO_LEVEL) {
dev_err(&intf->dev,
"Unsupported bus topology: hub nested too deep\n");