linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).