在xhci_plat_probe里,两个重量级的函数是usb_create_hcd和usb_add_hcd,用了创建usb_hcd和将usb_hcd添加到系统中。 在这里,有两个usb_hcd,一个是main_hcd(或者primary_hcd),一个是shared_hcd,为什么会有两个呢?一度困惑了很久,直到看到hc_driver中的reset函数才恍然大悟。 hc_driver中的reset函数对应为xhci_...
hcd->phy_roothub = usb_phy_roothub_alloc(hcd->self.sysdev); //分配一个usb_phy_roothub结构体,并加入到roothub_entry->list链表 if (IS_ERR(hcd->phy_roothub)) return PTR_ERR(hcd->phy_roothub); retval = usb_phy_roothub_init(hcd->phy_roothub); //初始化roothub,主要是调用imx8m_usb...
usb2.0(main_hcd),一个对应usb3.0及以上(shared_hcd)。 那这里怎么区分usb2.0的端口和usb3.0的端口呢?xhciextended capabilities里有: 7.2...。 在这里,有两个usb_hcd,一个是main_hcd(或者primary_hcd),一个是shared_hcd,为什么会有两个呢?一度困惑了很久,直到看到hc_driver中的reset函数才恍然大悟 ...
@@ -1897,6 +1897,7 @@ struct xhci_hcd { #define XHCI_BROKEN_D3COLD BIT_ULL(41) #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42) #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43) #define XHCI_RESET_TO_DEFAULT BIT_ULL(44) unsigned int num_active_eps; unsigned int limit_active_eps;0...
xhci_hcd WARN Event TRB for slot x ep y with no TDs queued http://billauer.co.il/blog/2019/11/xhci-controller-bug-warning/ https://lore.kernel.org/patchwork/patch/860018/ https://lkml.org/lkml/2016/1/5/1035 1.5 x86 USB DCI DbC调试技术 ...
文章目录问题描述修改方式修改内容问题描述在龙芯2K1000上使用linux3.10内核时候,使用PCIE转USB上使用USB3.0,即XHCI协议时总是会报这样的警告:xhci_hcd 0000:14:00.0: WARN Successful completion on short TX: needsXHCI_TRUST_TX_LENGTH quirk?xhci_hcd 0000:1... ...
[ 130.381128] usb 6-1: reset SuperSpeed USB device number 2 using xhci_hcd [ 130.401814] sd 10:0:0:0: [sdc] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB) [ 130.402173] sd 10:0:0:0: [sdc] Write Protect is off
[ARM] usb光驱发生I/O错误,dmesg报告:reset SuperSpeed Gen 1 USB device number 5 using xhci_hcd 已完成 #I1X75V 缺陷 Regan.He 创建于 2020-09-29 16:12 问题简述 openEuler-aarch64服务器可以正常识别USB光驱,光盘中已刻录的小文件也能读取,但是使用dvd+rw-tools,cdrskin等dvd烧录软件对光盘进行写...
voidxhci_endpoint_reset(structusb_hcd* hcd、 structusb_host_endpoint*ep) { structxhci_hcd* xhci; structusb_device* udev; unsigned intep_index; unsigned long flags; int ret; structxhci_virt_ep* virt_ep; xhci =hcd_TO_xhci(hcd);
@@ -730,13 +730,20 @@ void xhci_shutdown(struct usb_hcd *hcd)spin_lock_irq(&xhci->lock); xhci_halt(xhci); /* Workaround for spurious wakeups at shutdown with HSW */ if (xhci->quirks & XHCI_SPURIOUS_WAKEUP) xhci_reset(xhci); ...