Re: [PATCH] usb: gadget: ffs: Let setup() return USB_GADGET_DELAYED_STATUS

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

 



On 01/12/2018 12:26 PM, Felipe Balbi wrote:
> 
> Hi,
> 
> Lars-Peter Clausen <lars@xxxxxxxxxx> writes:
>> Some UDC drivers (like the DWC3) expect that the response to a setup()
> 
> not some, but *all*. You can only queue a response later IFF you return
> USB_GADGET_DELAYED_STATUS.

Yeah, but most drivers don't care. DWC3 is one of two which handles
USB_GADGET_DELAYED_STATUS.

> 
>> request is queued from within the setup function itself so that it is
>> available as soon as setup() has completed.
>>
>> Upon receiving a setup request the function fs driver creates an event that
>> is made available to userspace. And only once userspace has acknowledged
>> that event the response to the setup request is queued.
>>
>> So it violates the requirement of those UDC drivers and random failures can
>> be observed. This is basically a race condition and if userspace is able to
>> read the event and queue the response fast enough all is good. But if it is
>> not, for example because other processes are currently scheduled to run,
>> the USB host that sent the setup request will observe an error.
>>
>> To avoid this the gadget framework provides the USB_GADGET_DELAYED_STATUS
>> return code. If a setup() callback returns this value the UDC driver is
>> aware that response is not yet available and can uses the appropriate
>> methods to handle this case.
>>
>> Since in the case of function fs the response will never be available when
>> the setup() function returns make sure that this status code is used.
>>
>> This fixed random occasional failures that were previously observed on a
>> DWC3 based system under high system load.
> 
> I need to see tracepoint capture from the failure ;-) Care to send them
> to me for analysis?

I've attached the full trace up to the point where the failure occurs. (The
tracing infrastructure in the DWC3 driver was very helpful in tracking this
down btw.).

The important parts are around:

125.504109: dwc3_complete_trb: ep0out: ...
125.504111: dwc3_prepare_trb: ep0out: ...

Then a few moments later

125.508529: dwc3_ep0: queueing request ffffffc8787b6d00 to ep0out ...

Usually the queuing would happen before the dwc3_complete_trb and this
function would remove the URB from the queue. But now it will just sit on
the pending list waiting for something to happen since the original transfer
is already over.

When the next control request comes in and we try to queue something for EP0
the 'list_empty(&dep->pending_list)' check will fail, we return an error and
the endpoint is stalled and the host will observe an error.

- Lars


# tracer: nop
#
# entries-in-buffer/entries-written: 3779/3779   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
          <idle>-0     [000] d.h.   125.495083: dwc3_readl: addr ffffff800948040c value 00000008
          <idle>-0     [000] d.h.   125.495090: dwc3_readl: addr ffffff8009480408 value 00000100
          <idle>-0     [000] d.h.   125.495093: dwc3_writel: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.495159: dwc3_event: event (0000c040): ep0out: Transfer Complete
    irq/221-dwc3-3336  [003] d...   125.495165: dwc3_ep0: ep0out: Transfer Complete: state 'Setup Phase'
    irq/221-dwc3-3336  [003] d...   125.495167: dwc3_ep0: Setup Phase
    irq/221-dwc3-3336  [003] d...   125.495169: dwc3_ctrl_req: bRequestType 41 bRequest 00 wValue 0000 wIndex 0000 wLength 0
    irq/221-dwc3-3336  [003] d...   125.499466: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.499468: dwc3_event: event (000020c2): ep0in: Transfer Not Ready (Not Active)
    irq/221-dwc3-3336  [003] d...   125.499470: dwc3_ep0: ep0in: Transfer Not Ready (Not Active): state 'Setup Phase'
    irq/221-dwc3-3336  [003] d...   125.499472: dwc3_ep0: Control Status
    irq/221-dwc3-3336  [003] d...   125.499474: dwc3_prepare_trb: ep0in: 0/0 trb ffffff800944b000 buf 0000000078079000 size 0 ctrl 00000c33 (HLcs:SC:status2)
    irq/221-dwc3-3336  [003] d...   125.499477: dwc3_writel: addr ffffff8009480818 value 00000000
    irq/221-dwc3-3336  [003] d...   125.499480: dwc3_writel: addr ffffff8009480814 value 7807a000
    irq/221-dwc3-3336  [003] d...   125.499482: dwc3_writel: addr ffffff8009480810 value 00000000
    irq/221-dwc3-3336  [003] d...   125.499484: dwc3_writel: addr ffffff800948081c value 00000406
    irq/221-dwc3-3336  [003] d...   125.499486: dwc3_readl: addr ffffff800948081c value 00010006
    irq/221-dwc3-3336  [003] d...   125.499489: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 7807a000 00000000 --> status: Successful
    irq/221-dwc3-3336  [003] d...   125.499490: dwc3_readl: addr ffffff800948081c value 00010006
    irq/221-dwc3-3336  [003] d...   125.499492: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.499495: dwc3_readl: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.499496: dwc3_writel: addr ffffff8009480408 value 00000100
            iiod-3335  [000] d...   125.499499: dwc3_ep0: queueing request ffffffc8787b6d00 to ep0out length 0 state 'Status Phase'
            iiod-3335  [000] d.H.   125.499513: dwc3_readl: addr ffffff800948040c value 00000004
            iiod-3335  [000] d.H.   125.499516: dwc3_readl: addr ffffff8009480408 value 00000100
            iiod-3335  [000] d.H.   125.499518: dwc3_writel: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.499555: dwc3_event: event (0000c042): ep0in: Transfer Complete
    irq/221-dwc3-3336  [003] d...   125.499558: dwc3_ep0: ep0in: Transfer Complete: state 'Status Phase'
    irq/221-dwc3-3336  [003] d...   125.499559: dwc3_ep0: Status Phase
    irq/221-dwc3-3336  [003] d...   125.499561: dwc3_complete_trb: ep0out: 0/2 trb ffffff800944b000 buf 0000000078079000 size 0 ctrl 00000c32 (hLcs:SC:status2)
    irq/221-dwc3-3336  [003] d...   125.499565: dwc3_gadget_giveback: ep0out: req ffffffc8787b6d00 length 0/0 zsI ==> 0
    irq/221-dwc3-3336  [003] d...   125.499568: dwc3_prepare_trb: ep0out: 0/2 trb ffffff800944b000 buf 0000000078079000 size 8 ctrl 00000c23 (HLcs:SC:setup)
    irq/221-dwc3-3336  [003] d...   125.499571: dwc3_writel: addr ffffff8009480808 value 00000000
    irq/221-dwc3-3336  [003] d...   125.499573: dwc3_writel: addr ffffff8009480804 value 7807a000
    irq/221-dwc3-3336  [003] d...   125.499575: dwc3_writel: addr ffffff8009480800 value 00000000
    irq/221-dwc3-3336  [003] d...   125.499576: dwc3_writel: addr ffffff800948080c value 00000406
    irq/221-dwc3-3336  [003] d...   125.499578: dwc3_readl: addr ffffff800948080c value 00000006
    irq/221-dwc3-3336  [003] d...   125.499580: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 7807a000 00000000 --> status: Successful
    irq/221-dwc3-3336  [003] d...   125.499581: dwc3_readl: addr ffffff800948080c value 00000006
    irq/221-dwc3-3336  [003] d...   125.499584: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.499586: dwc3_readl: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.499588: dwc3_writel: addr ffffff8009480408 value 00000100
          <idle>-0     [000] dnh.   125.499632: dwc3_readl: addr ffffff800948040c value 00000008
          <idle>-0     [000] dnh.   125.499635: dwc3_readl: addr ffffff8009480408 value 00000100
          <idle>-0     [000] dnh.   125.499637: dwc3_writel: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.499645: dwc3_event: event (0000c040): ep0out: Transfer Complete
    irq/221-dwc3-3336  [003] d...   125.499648: dwc3_ep0: ep0out: Transfer Complete: state 'Setup Phase'
    irq/221-dwc3-3336  [003] d...   125.499650: dwc3_ep0: Setup Phase
    irq/221-dwc3-3336  [003] d...   125.499651: dwc3_ctrl_req: bRequestType 41 bRequest 01 wValue 0000 wIndex 0000 wLength 0
    irq/221-dwc3-3336  [003] d...   125.499665: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.499667: dwc3_event: event (000020c2): ep0in: Transfer Not Ready (Not Active)
    irq/221-dwc3-3336  [003] d...   125.499669: dwc3_ep0: ep0in: Transfer Not Ready (Not Active): state 'Setup Phase'
    irq/221-dwc3-3336  [003] d...   125.499671: dwc3_ep0: Control Status
    irq/221-dwc3-3336  [003] d...   125.499672: dwc3_prepare_trb: ep0in: 0/0 trb ffffff800944b000 buf 0000000078079000 size 0 ctrl 00000c33 (HLcs:SC:status2)
    irq/221-dwc3-3336  [003] d...   125.499674: dwc3_writel: addr ffffff8009480818 value 00000000
    irq/221-dwc3-3336  [003] d...   125.499675: dwc3_writel: addr ffffff8009480814 value 7807a000
    irq/221-dwc3-3336  [003] d...   125.499677: dwc3_writel: addr ffffff8009480810 value 00000000
    irq/221-dwc3-3336  [003] d...   125.499679: dwc3_writel: addr ffffff800948081c value 00000406
    irq/221-dwc3-3336  [003] d...   125.499681: dwc3_readl: addr ffffff800948081c value 00010006
    irq/221-dwc3-3336  [003] d...   125.499683: dwc3_gadget_ep_cmd: ep0in: cmd 'Start Transfer' [6] params 00000000 7807a000 00000000 --> status: Successful
    irq/221-dwc3-3336  [003] d...   125.499685: dwc3_readl: addr ffffff800948081c value 00010006
    irq/221-dwc3-3336  [003] d...   125.499687: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.499688: dwc3_readl: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.499690: dwc3_writel: addr ffffff8009480408 value 00000100
            iiod-3335  [000] d.H.   125.504090: dwc3_readl: addr ffffff800948040c value 00000004
            iiod-3335  [000] d.H.   125.504093: dwc3_readl: addr ffffff8009480408 value 00000100
            iiod-3335  [000] d.H.   125.504095: dwc3_writel: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.504102: dwc3_event: event (0000c042): ep0in: Transfer Complete
    irq/221-dwc3-3336  [003] d...   125.504106: dwc3_ep0: ep0in: Transfer Complete: state 'Status Phase'
    irq/221-dwc3-3336  [003] d...   125.504107: dwc3_ep0: Status Phase
    irq/221-dwc3-3336  [003] d...   125.504109: dwc3_complete_trb: ep0out: 0/2 trb ffffff800944b000 buf 0000000078079000 size 0 ctrl 00000c32 (hLcs:SC:status2)
    irq/221-dwc3-3336  [003] d...   125.504111: dwc3_prepare_trb: ep0out: 0/2 trb ffffff800944b000 buf 0000000078079000 size 8 ctrl 00000c23 (HLcs:SC:setup)
    irq/221-dwc3-3336  [003] d...   125.504113: dwc3_writel: addr ffffff8009480808 value 00000000
    irq/221-dwc3-3336  [003] d...   125.504115: dwc3_writel: addr ffffff8009480804 value 7807a000
    irq/221-dwc3-3336  [003] d...   125.504117: dwc3_writel: addr ffffff8009480800 value 00000000
    irq/221-dwc3-3336  [003] d...   125.504119: dwc3_writel: addr ffffff800948080c value 00000406
    irq/221-dwc3-3336  [003] d...   125.504121: dwc3_readl: addr ffffff800948080c value 00000006
    irq/221-dwc3-3336  [003] d...   125.504123: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 7807a000 00000000 --> status: Successful
    irq/221-dwc3-3336  [003] d...   125.504125: dwc3_readl: addr ffffff800948080c value 00000006
    irq/221-dwc3-3336  [003] d...   125.504126: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.504128: dwc3_readl: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.504130: dwc3_writel: addr ffffff8009480408 value 00000100
            iiod-3335  [000] d...   125.508529: dwc3_ep0: queueing request ffffffc8787b6d00 to ep0out length 0 state 'Setup Phase'
            iiod-4110  [001] d...   125.511937: dwc3_alloc_request: ep1out: req ffffffc86ec8da00 length 0/0 zsI ==> 0
            iiod-4110  [001] d...   125.511942: dwc3_ep_queue: ep1out: req ffffffc86ec8da00 length 0/8192 zsI ==> -115
            iiod-4110  [001] d...   125.511947: dwc3_gadget: ep1out: req ffffffc86ec8da00 dma 877f00000 length 8192
            iiod-4110  [001] d...   125.511951: dwc3_prepare_trb: ep1out: 1/2 trb ffffff800944f6e0 buf 0000000877f00000 size 8192 ctrl 00000c19 (HlcS:SC:normal)
            iiod-4110  [001] d...   125.511953: dwc3_writel: addr ffffff8009480828 value 00000000
            iiod-4110  [001] d...   125.511955: dwc3_writel: addr ffffff8009480824 value 7807c6e0
            iiod-4110  [001] d...   125.511957: dwc3_writel: addr ffffff8009480820 value 00000000
            iiod-4110  [001] d...   125.511960: dwc3_writel: addr ffffff800948082c value 00000406
            iiod-4110  [001] d...   125.511962: dwc3_readl: addr ffffff800948082c value 00020006
            iiod-4110  [001] d...   125.511963: dwc3_gadget_ep_cmd: ep1out: cmd 'Start Transfer' [6] params 00000000 7807c6e0 00000000 --> status: Successful
            iiod-4110  [001] d...   125.511965: dwc3_readl: addr ffffff800948082c value 00020006
          <idle>-0     [000] dnh.   125.511979: dwc3_readl: addr ffffff800948040c value 00000004
          <idle>-0     [000] dnh.   125.511982: dwc3_readl: addr ffffff8009480408 value 00000100
          <idle>-0     [000] dnh.   125.511984: dwc3_writel: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.511993: dwc3_event: event (00006084): ep1out: Transfer In-Progress
    irq/221-dwc3-3336  [003] d...   125.511995: dwc3_complete_trb: ep1out: 0/2 trb ffffff800944f6e0 buf 0000000877f00000 size 8185 ctrl 00000c18 (hlcS:SC:normal)
    irq/221-dwc3-3336  [003] d...   125.512002: dwc3_gadget_giveback: ep1out: req ffffffc86ec8da00 length 7/8192 zsI ==> 0
    irq/221-dwc3-3336  [003] d...   125.512011: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.512013: dwc3_readl: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.512015: dwc3_writel: addr ffffff8009480408 value 00000100
     kworker/3:1-416   [003] ....   125.512028: dwc3_free_request: ep1out: req ffffffc86ec8da00 length 7/8192 zsI ==> 0
            iiod-4110  [001] d...   125.523562: dwc3_alloc_request: ep1in: req ffffffc87aae4300 length 0/0 zsI ==> 0
            iiod-4110  [001] d...   125.523564: dwc3_ep_queue: ep1in: req ffffffc87aae4300 length 0/5 zsI ==> -115
            iiod-4110  [001] d...   125.523567: dwc3_gadget: ep1in: req ffffffc87aae4300 dma 87848ad00 length 5
            iiod-4110  [001] d...   125.523571: dwc3_prepare_trb: ep1in: 1/2 trb ffffff8009459d40 buf 000000087848ad00 size 5 ctrl 00000c19 (HlcS:SC:normal)
            iiod-4110  [001] d...   125.523572: dwc3_writel: addr ffffff8009480838 value 00000000
            iiod-4110  [001] d...   125.523574: dwc3_writel: addr ffffff8009480834 value 78099d40
            iiod-4110  [001] d...   125.523576: dwc3_writel: addr ffffff8009480830 value 00000000
            iiod-4110  [001] d...   125.523578: dwc3_writel: addr ffffff800948083c value 00000406
            iiod-4110  [001] d...   125.523580: dwc3_readl: addr ffffff800948083c value 00030006
            iiod-4110  [001] d...   125.523581: dwc3_gadget_ep_cmd: ep1in: cmd 'Start Transfer' [6] params 00000000 78099d40 00000000 --> status: Successful
            iiod-4110  [001] d...   125.523584: dwc3_readl: addr ffffff800948083c value 00030006
          <idle>-0     [000] dnh.   125.523607: dwc3_readl: addr ffffff800948040c value 00000004
          <idle>-0     [000] dnh.   125.523611: dwc3_readl: addr ffffff8009480408 value 00000100
          <idle>-0     [000] dnh.   125.523613: dwc3_writel: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.523621: dwc3_event: event (00004086): ep1in: Transfer In-Progress
    irq/221-dwc3-3336  [003] d...   125.523623: dwc3_complete_trb: ep1in: 0/2 trb ffffff8009459d40 buf 000000087848ad00 size 0 ctrl 00000c18 (hlcS:SC:normal)
    irq/221-dwc3-3336  [003] d...   125.523629: dwc3_gadget_giveback: ep1in: req ffffffc87aae4300 length 5/5 zsI ==> 0
    irq/221-dwc3-3336  [003] d...   125.523636: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.523639: dwc3_readl: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.523641: dwc3_writel: addr ffffff8009480408 value 00000100
     kworker/3:1-416   [003] ....   125.523649: dwc3_free_request: ep1in: req ffffffc87aae4300 length 5/5 zsI ==> 0
            iiod-4110  [001] d...   125.535283: dwc3_alloc_request: ep1in: req ffffffc87a9cf200 length 0/0 zsI ==> 0
            iiod-4110  [001] d...   125.535285: dwc3_ep_queue: ep1in: req ffffffc87a9cf200 length 0/5721 zsI ==> -115
            iiod-4110  [001] d...   125.535288: dwc3_gadget: ep1in: req ffffffc87a9cf200 dma 87aca8000 length 5721
            iiod-4110  [001] d...   125.535291: dwc3_prepare_trb: ep1in: 1/2 trb ffffff8009459d50 buf 000000087aca8000 size 5721 ctrl 00000c19 (HlcS:SC:normal)
            iiod-4110  [001] d...   125.535293: dwc3_writel: addr ffffff8009480838 value 00000000
            iiod-4110  [001] d...   125.535295: dwc3_writel: addr ffffff8009480834 value 00000000
            iiod-4110  [001] d...   125.535297: dwc3_writel: addr ffffff8009480830 value 00000000
            iiod-4110  [001] d...   125.535299: dwc3_writel: addr ffffff800948083c value 00030407
            iiod-4110  [001] d...   125.535301: dwc3_readl: addr ffffff800948083c value 00030007
            iiod-4110  [001] d...   125.535302: dwc3_gadget_ep_cmd: ep1in: cmd 'Update Transfer' [196615] params 00000000 00000000 00000000 --> status: Successful
       in:imklog-2923  [000] d.h.   125.535317: dwc3_readl: addr ffffff800948040c value 00000004
       in:imklog-2923  [000] d.h.   125.535321: dwc3_readl: addr ffffff8009480408 value 00000100
       in:imklog-2923  [000] d.h.   125.535323: dwc3_writel: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.535332: dwc3_event: event (00004086): ep1in: Transfer In-Progress
    irq/221-dwc3-3336  [003] d...   125.535333: dwc3_complete_trb: ep1in: 0/2 trb ffffff8009459d50 buf 000000087aca8000 size 0 ctrl 00000c18 (hlcS:SC:normal)
    irq/221-dwc3-3336  [003] d...   125.535339: dwc3_gadget_giveback: ep1in: req ffffffc87a9cf200 length 5721/5721 zsI ==> 0
    irq/221-dwc3-3336  [003] d...   125.535345: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.535347: dwc3_readl: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.535350: dwc3_writel: addr ffffff8009480408 value 00000100
     kworker/3:1-416   [003] ....   125.535358: dwc3_free_request: ep1in: req ffffffc87a9cf200 length 5721/5721 zsI ==> 0
            iiod-4110  [001] d...   125.546998: dwc3_alloc_request: ep1in: req ffffffc877c75900 length 0/0 zsI ==> 0
            iiod-4110  [001] d...   125.547000: dwc3_ep_queue: ep1in: req ffffffc877c75900 length 0/1 zsI ==> -115
            iiod-4110  [001] d...   125.547002: dwc3_gadget: ep1in: req ffffffc877c75900 dma 87ab04400 length 1
            iiod-4110  [001] d...   125.547006: dwc3_prepare_trb: ep1in: 1/2 trb ffffff8009459d60 buf 000000087ab04400 size 1 ctrl 00000c19 (HlcS:SC:normal)
            iiod-4110  [001] d...   125.547008: dwc3_writel: addr ffffff8009480838 value 00000000
            iiod-4110  [001] d...   125.547010: dwc3_writel: addr ffffff8009480834 value 00000000
            iiod-4110  [001] d...   125.547011: dwc3_writel: addr ffffff8009480830 value 00000000
            iiod-4110  [001] d...   125.547013: dwc3_writel: addr ffffff800948083c value 00030407
            iiod-4110  [001] d...   125.547015: dwc3_readl: addr ffffff800948083c value 00030007
            iiod-4110  [001] d...   125.547017: dwc3_gadget_ep_cmd: ep1in: cmd 'Update Transfer' [196615] params 00000000 00000000 00000000 --> status: Successful
          <idle>-0     [000] dnh.   125.547044: dwc3_readl: addr ffffff800948040c value 00000004
          <idle>-0     [000] dnh.   125.547048: dwc3_readl: addr ffffff8009480408 value 00000100
          <idle>-0     [000] dnh.   125.547050: dwc3_writel: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.547058: dwc3_event: event (00004086): ep1in: Transfer In-Progress
    irq/221-dwc3-3336  [003] d...   125.547060: dwc3_complete_trb: ep1in: 0/2 trb ffffff8009459d60 buf 000000087ab04400 size 0 ctrl 00000c18 (hlcS:SC:normal)
    irq/221-dwc3-3336  [003] d...   125.547066: dwc3_gadget_giveback: ep1in: req ffffffc877c75900 length 1/1 zsI ==> 0
    irq/221-dwc3-3336  [003] d...   125.547072: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.547074: dwc3_readl: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.547076: dwc3_writel: addr ffffff8009480408 value 00000100
     kworker/3:1-416   [003] ....   125.547085: dwc3_free_request: ep1in: req ffffffc877c75900 length 1/1 zsI ==> 0
          <idle>-0     [000] d.h.   125.547503: dwc3_readl: addr ffffff800948040c value 00000008
          <idle>-0     [000] d.h.   125.547506: dwc3_readl: addr ffffff8009480408 value 00000100
          <idle>-0     [000] d.h.   125.547509: dwc3_writel: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.547518: dwc3_event: event (0000c040): ep0out: Transfer Complete
    irq/221-dwc3-3336  [003] d...   125.547521: dwc3_ep0: ep0out: Transfer Complete: state 'Setup Phase'
    irq/221-dwc3-3336  [003] d...   125.547522: dwc3_ep0: Setup Phase
    irq/221-dwc3-3336  [003] d...   125.547524: dwc3_ctrl_req: bRequestType 80 bRequest 06 wValue 0300 wIndex 0000 wLength 255
    irq/221-dwc3-3336  [003] d...   125.547525: dwc3_ep0: Forwarding to gadget driver
    irq/221-dwc3-3336  [003] d...   125.547542: dwc3_writel: addr ffffff8009480808 value 00000000
    irq/221-dwc3-3336  [003] d...   125.547544: dwc3_writel: addr ffffff8009480804 value 00000000
    irq/221-dwc3-3336  [003] d...   125.547546: dwc3_writel: addr ffffff8009480800 value 00000000
    irq/221-dwc3-3336  [003] d...   125.547549: dwc3_writel: addr ffffff800948080c value 00000404
    irq/221-dwc3-3336  [003] d...   125.547550: dwc3_readl: addr ffffff800948080c value 00000004
    irq/221-dwc3-3336  [003] d...   125.547552: dwc3_gadget_ep_cmd: ep0out: cmd 'Set Stall' [4] params 00000000 00000000 00000000 --> status: Successful
    irq/221-dwc3-3336  [003] d...   125.547557: dwc3_gadget_giveback: ep0out: req ffffffc8787b6d00 length 0/0 zsI ==> -104
    irq/221-dwc3-3336  [003] d...   125.547560: dwc3_prepare_trb: ep0out: 0/2 trb ffffff800944b000 buf 0000000078079000 size 8 ctrl 00000c23 (HLcs:SC:setup)
    irq/221-dwc3-3336  [003] d...   125.547562: dwc3_writel: addr ffffff8009480808 value 00000000
    irq/221-dwc3-3336  [003] d...   125.547564: dwc3_writel: addr ffffff8009480804 value 7807a000
    irq/221-dwc3-3336  [003] d...   125.547567: dwc3_writel: addr ffffff8009480800 value 00000000
    irq/221-dwc3-3336  [003] d...   125.547568: dwc3_writel: addr ffffff800948080c value 00000406
    irq/221-dwc3-3336  [003] d...   125.547570: dwc3_readl: addr ffffff800948080c value 00000006
    irq/221-dwc3-3336  [003] d...   125.547572: dwc3_gadget_ep_cmd: ep0out: cmd 'Start Transfer' [6] params 00000000 7807a000 00000000 --> status: Successful
    irq/221-dwc3-3336  [003] d...   125.547573: dwc3_readl: addr ffffff800948080c value 00000006
    irq/221-dwc3-3336  [003] d...   125.547575: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.547577: dwc3_event: event (000010c2): ep0in: Transfer Not Ready (Not Active)
    irq/221-dwc3-3336  [003] d...   125.547579: dwc3_ep0: ep0in: Transfer Not Ready (Not Active): state 'Setup Phase'
    irq/221-dwc3-3336  [003] d...   125.547581: dwc3_ep0: Control Data
    irq/221-dwc3-3336  [003] d...   125.547582: dwc3_writel: addr ffffff800948040c value 00000004
    irq/221-dwc3-3336  [003] d...   125.547584: dwc3_readl: addr ffffff8009480408 value 80000100
    irq/221-dwc3-3336  [003] d...   125.547585: dwc3_writel: addr ffffff8009480408 value 00000100
  

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

  Powered by Linux