From: Felipe Balbi <felipe.balbi@linux.intel.com>
To: John Stultz <john.stultz@linaro.org>,
Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Cc: John Youn <John.Youn@synopsys.com>,
lkml <linux-kernel@vger.kernel.org>,
YongQin Liu <yongqin.liu@linaro.org>,
"linux-usb\@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: Re: dwc2_hc_chhltd_intr_dma - ChHltd set errors?
Date: Fri, 07 Apr 2017 11:18:10 +0300 [thread overview]
Message-ID: <87fuhkfx6l.fsf@linux.intel.com> (raw)
In-Reply-To: <CALAqxLU4ZK6u_QurTp1X89nD46r+3ctVzDDtsHVDq1sORhyW5w@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6695 bytes --]
Hi,
John Stultz <john.stultz@linaro.org> writes:
>>>> <Minas.Harutyunyan@synopsys.com <mailto:Minas.Harutyunyan@synopsys.com>>
>>>> wrote:
>>>>> On 4/4/2017 11:03 PM, John Stultz wrote:
>>>>>>
>>>>>> I did notice when cating the regdump file, I saw:
>>>>>> dwc2 f72c0000.usb: Mode Mismatch Interrupt: currently in Host mode
>>>>>> twice. (You'll see it 4 times in the dmesg around 1077 as I cat'ed
>>>>>> regdump again to verify it wasn't just chance).
>>>>>>
>>>>>> Let me know if there is anything else you need!
>>>>>>
>>>>>
>>>>> Could you please apply attached patch and try again.
>>>>
>>>> Thanks for sending this out!
>>>>
>>>> So it didn't build against mainline, but I tweaked it a bit:
>>>> - if ((hsotg->core_params->dma_enable > 0 &&
>>>> - hsotg->core_params->dma_desc_enable <= 0) ||
>>>> + if ((hsotg->params.host_dma > 0 &&
>>>> + hsotg->params.dma_desc_enable <= 0) ||
>>>>
>>>>
>>>> But I'm still seeing similar behavior:
>>>> [ 91.517417] dwc2 f72c0000.usb: dwc2_hc_chhltd_intr_dma: Channel 5 -
>>>> ChHltd set, but reason is unknown
>>>> [ 91.526693] dwc2 f72c0000.usb: hcint 0x00000002, intsts 0x04000029
>>>> [ 91.533613] asix 1-1.2:1.0 eth0: asix_rx_fixup() Bad Header Length
>>>> 0x8003a0cc, offset 1302
>>>> [ 91.534102] asix 1-1.2:1.0 eth0: asix_rx_fixup() Bad Header Length
>>>> 0x73ff5a7d, offset 4
>>>> [ 169.116866] dwc2 f72c0000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 -
>>>> ChHltd set, but reason is unknown
>>>> [ 169.126146] dwc2 f72c0000.usb: hcint 0x00000002, intsts 0x06200029
>>>> [ 170.699334] asix 1-1.2:1.0 eth0: asix_rx_fixup() Bad Header Length
>>>> 0x36000807, offset 68
>>>>
>>>> And I'm not seeing the "Channel can't be halted" error from the new logic.
>>>>
>>>> Full dmesg and regdump attached.
>>>>
>>>> Let me know if there is something else I should try.
>>>>
>>>> thanks
>>>> -john
>>> Ok. To enable full dwc2 debug messages, please set USB_DWC2_DEBUG and
>>> USB_DWC2_VERBOSE in Kernel configuration file.
>>
>> Huh. So interestingly adding USB_DWC2_VERBOSE changes some behavior,
>> which suggests some racy logic somewhere.
>>
>> In the dmesg logs provided earlier, I would unplug the micro-B cable,
>> and the hub would be enabled, detect the mouse, reset to slow-speed,
>> and then both mouse and eth would be detected (see below for topology
>> and quirkiness here).
>>
>> [ 609.726186] dwc2 f72c0000.usb: Set speed to high-speed
>> [ 609.731529] usb 1-1: new high-speed USB device number 26 using dwc2
>> [ 609.921447] dwc2 f72c0000.usb: Set speed to high-speed
>> [ 609.949694] hub 1-1:1.0: USB hub found
>> [ 609.954067] hub 1-1:1.0: 3 ports detected
>> [ 610.246008] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 610.251388] usb 1-1.1: new low-speed USB device number 27 using dwc2
>> [ 610.486571] usb 1-1: USB disconnect, device number 26
>> [ 615.722267] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 615.727580] usb 1-1: new full-speed USB device number 31 using dwc2
>> [ 615.914674] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 615.939233] usb 1-1: not running at top speed; connect to a high speed hub
>> [ 615.949500] hub 1-1:1.0: USB hub found
>> [ 615.953815] hub 1-1:1.0: 3 ports detected
>> [ 616.246178] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 616.251539] usb 1-1.1: new low-speed USB device number 32 using dwc2
>> [ 616.342042] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 616.393609] input: Logitech USB Optical Mouse as
>> /devices/platform/soc/f72c0000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:046D:C058.0004/input/in4
>> [ 616.408426] hid-generic 0003:046D:C058.0004: input,hidraw0: USB HID
>> v1.11 Mouse [Logitech USB Optical Mouse] on usb-f72c0000.usb-1.1/inpu0
>> [ 616.506057] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 616.511449] usb 1-1.2: new full-speed USB device number 33 using dwc2
>> [ 616.598037] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 616.626890] usb 1-1.2: not running at top speed; connect to a high speed hub
>> [ 617.098791] asix 1-1.2:1.0 eth0: register 'asix' at
>> usb-f72c0000.usb-1.2, ASIX AX88772B USB 2.0 Ethernet,
>> 00:50:b6:18:82:98
>> [ 617.112147] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
>> [ 618.660076] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
>> [ 618.682072] asix 1-1.2:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
>>
>>
>> But with DWC2_VERBOSE enabled, I'm usually seeing the following (this
>> is what hit the console, not from the full dmesg output):
>>
>> [ 83.658545] dwc2 f72c0000.usb: Set speed to high-speed
>> [ 83.663897] usb 1-1: new high-speed USB device number 2 using dwc2
>> [ 83.854516] dwc2 f72c0000.usb: Set speed to high-speed
>> [ 83.901097] hub 1-1:1.0: USB hub found
>> [ 83.910054] hub 1-1:1.0: 3 ports detected
>> [ 84.241753] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 84.247008] usb 1-1.1: new low-speed USB device number 3 using dwc2
>> [ 84.479943] usb 1-1: USB disconnect, device number 2
>> [ 89.646499] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 89.651849] usb 1-1: new full-speed USB device number 7 using dwc2
>> [ 89.842541] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 89.879490] usb 1-1: not running at top speed; connect to a high speed hub
>> [ 89.906483] hub 1-1:1.0: USB hub found
>> [ 89.915009] hub 1-1:1.0: 3 ports detected
>> [ 90.245919] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 90.251114] usb 1-1.1: new low-speed USB device number 8 using dwc2
>> [ 90.337866] dwc2 f72c0000.usb: Set speed to full-speed
>> [ 90.385747] input: Logitech USB Optical Mouse as
>> /devices/platform/soc/f72c0000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:046D:C058.0001/input/in1
>> [ 90.398904] hid-generic 0003:046D:C058.0001: input,hidraw0: USB HID
>> v1.11 Mouse [Logitech USB Optical Mouse] on usb-f72c0000.usb-1.1/inpu0
>> [ 90.414011] hub 1-1:1.0: hub_ext_port_status failed (err = -71)
>>
>> And the eth adapter doesn't seem to be detected.
>>
>> So I've attached the dmesg w/ VERBOSE off, but with DEBUG on.
>
> I went ahead and collected the VERBOSE logs too around the
> "dwc2_hc_chhltd_intr_dma: Channel 11 - ChHltd set, but reason is
> unknown" message. That VERBOSE flag generates a lot of data! I set my
> kernel dmesg buffer to 16M and managed save dmesg quickly after I
> noticed the error message, but I only got ~25 seconds around the
> event.
you can replace all dev_*() messages with trace_printk() and use the
ftrace buffer for logging. I generally use 100MiB trace buffer without
any issues :-)
--
balbi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next prev parent reply other threads:[~2017-04-07 8:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-02 20:00 dwc2_hc_chhltd_intr_dma - ChHltd set errors? John Stultz
2017-03-31 23:04 ` John Stultz
2017-04-03 5:23 ` John Youn
2017-04-03 12:54 ` Minas Harutyunyan
2017-04-04 3:04 ` John Stultz
2017-04-04 7:18 ` Minas Harutyunyan
2017-04-04 7:38 ` Felipe Balbi
2017-04-04 19:03 ` John Stultz
2017-04-05 12:58 ` Minas Harutyunyan
[not found] ` <CALAqxLU22kn61dV7yW0+-F1b24O20nALt7462UY2Yi6ZrF_RtQ@mail.gmail.com>
2017-04-06 7:36 ` Minas Harutyunyan
2017-04-06 22:53 ` John Stultz
[not found] ` <CALAqxLU4ZK6u_QurTp1X89nD46r+3ctVzDDtsHVDq1sORhyW5w@mail.gmail.com>
2017-04-07 8:18 ` Felipe Balbi [this message]
2017-04-07 12:52 ` Minas Harutyunyan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fuhkfx6l.fsf@linux.intel.com \
--to=felipe.balbi@linux.intel.com \
--cc=John.Youn@synopsys.com \
--cc=Minas.Harutyunyan@synopsys.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=yongqin.liu@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.