Re: DWC3: Clock Domain Crossing erratum description.

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

 



Hi,
On 04/19/2016 11:07 AM, Felipe Balbi wrote:
Hi,

Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> writes:
Is something definitely wrong with initialization and enumeration traces?
I'll go read them
      > irq/19-dwc3-96    [000] d..2   824.785778: dwc3_event: event 00150301

Link State change -> RX.Detect

      > irq/19-dwc3-96    [000] d..2   824.877339: dwc3_event: event 00040301

Link State Change SS.Disconnect
Not to SS.Disabled?

      > irq/19-dwc3-96    [000] d..2   824.877343: dwc3_event: event 00000301

Link State Change U0

      > irq/19-dwc3-96    [000] d..2   824.881192: dwc3_event: event 00050301

Link State Change RX.Detect

      > irq/19-dwc3-96    [000] d..2   824.885004: dwc3_event: event 00030301

Link State Change U3

      > irq/19-dwc3-96    [000] d..2   825.218156: dwc3_event: event 00000101

USB Reset

      > irq/19-dwc3-96    [000] d..2   825.229241: dwc3_event: event 00000201

Conncect Done

      > irq/19-dwc3-96    [000] d..2   825.229248: dwc3_gadget: Enabling ep0out

enable ep0 with correct parameters

      > irq/19-dwc3-96    [000] d..2   825.229252: dwc3_gadget_ep_cmd: ep0out: cmd 'Set Endpoint Configuration' [1] params 80000200 00000500 00000000
aram0: 64bytes wMaxPacketSize, Ignore Sequence Number set
param1: XferComplete and XferNotReady for physical ep0
param2: nothing

      > irq/19-dwc3-96    [000] d..2   825.229257: dwc3_gadget: Command Complete --> 0

completes fine

      > irq/19-dwc3-96    [000] d..2   825.229259: dwc3_gadget: Enabling ep0in
      > irq/19-dwc3-96    [000] d..2   825.229260: dwc3_gadget_ep_cmd: ep0in: cmd 'Set Endpoint Configuration' [1] params 80000200 02000500 00000000

param0: 64bytes wMaxPacketSize, Ignore Sequence Number set
param1: XferComplete and XferNotReady for physical ep1
param2: nothing

      > irq/19-dwc3-96    [000] d..2   825.229264: dwc3_gadget: Command Complete --> 0

completes fine

So, basically everything here is fine. There's nothing wrong
here. However, Right after these you get:

      > irq/19-dwc3-96    [000] d..2   825.229265: dwc3_event: event 00000301
Link change U3 [3] -> U0 [0]
Host reports: " new high-speed USB device number XX using ehci-pci"
Host Sends USB_REQ_GET_DESCRIPTOR 3 times, gets r=-71. No events detected on dwc3 side - this is the root issue.

Then host initiates device reset.
      > irq/19-dwc3-96    [000] d..2   825.322544: dwc3_event: event 00050301
Link state change U0[0] -> Rx.Detect [5]
      > irq/19-dwc3-96    [000] d..2   825.323162: dwc3_event: event 00000101
Reset interrupt
      > irq/19-dwc3-96    [000] d..2   825.329773: dwc3_event: event 00000201
Conndone interrupt
      > irq/19-dwc3-96    [000] d..2   825.329777: dwc3_gadget: Enabling ep0out
      > irq/19-dwc3-96    [000] d..2   825.329782: dwc3_gadget_ep_cmd: ep0out: cmd 'Set Endpoint Configuration' [1] params 80000200 00000500 00000000
      > irq/19-dwc3-96    [000] d..2   825.329786: dwc3_gadget: Command Complete --> 0
      > irq/19-dwc3-96    [000] d..2   825.329788: dwc3_gadget: Enabling ep0in
      > irq/19-dwc3-96    [000] d..2   825.329789: dwc3_gadget_ep_cmd: ep0in: cmd 'Set Endpoint Configuration' [1] params 80000200 02000500 00000000
      > irq/19-dwc3-96    [000] d..2   825.329793: dwc3_gadget: Command Complete --> 0

All over again. And this repeats forever.
Well, actually it follows host enumeration process - with usb_contorl_msg and hub_set_address returning -71,
and hub-initiated reset resulting in following sequence:
Link U0->Rx.Detect
reset interrupt
conndone interrupt
Link Rx.Detect -> U0
Did you load a gadget driver ?
Which gadget driver did you load ?

It's gadget zero. At least it's reported in dwc3_gadget_run_stop() -
see the  last line in dwc3-init.trace:
insmod-95 [000] d..2 603.695374: dwc3_gadget: gadget zero data soft-connect
------
regards,
Kirill
--
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