functionfs on dwc3, xhci host: endpoint cannot be used in both directions ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

Using configfs and functionfs I configured a 3-endpoints gadget the
following way:
- OUT f_fs ep: 1 real ep: 1 | OUT (0x01)
- IN  f_fs ep: 2 real ep: 1 | IN  (0x81)
- IN  f_fs ep: 3 real ep: 2 | IN  (0x82)

When connected to host:
- Real ep 0x01 works.
- Real ep 0x81 is silent (all URBs timeout).
- Real ep 0x82 works.

Plugging my usb analyser, I see no bus activity at all for the last
one, though I do see transactions for the others. I also see this
message on host:
  Jan 15 09:52:30 localhost kernel: [232403.009744] xhci_hcd 0000:00:14.0: WARN Event TRB for slot 24 ep 4 with no TDs queued?
Would xhci_hcd (or the HCD itlsef ?) fail when a single endpoint works
in both directions ?

"ep 4" seems to be an endpoint offset, which may be consistent with EP1
IN being the 4th endpoint:
  EP0 OUT, EP0 IN, EP1 OUT, EP1 IN

$ uname -a
Linux x2 4.8.0-2-amd64 #1 SMP Debian 4.8.11-1 (2016-12-02) x86_64 GNU/Linux

00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
        Subsystem: ASRock Incorporation Sunrise Point-H USB 3.0 xHCI Controller
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci

Regards,
-- 
Vincent Pelletier
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux