lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200915163814.GA2084568@bogus>
Date:   Tue, 15 Sep 2020 10:38:14 -0600
From:   Rob Herring <robh@...nel.org>
To:     Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
Cc:     Felipe Balbi <balbi@...nel.org>, linuxarm@...wei.com,
        mauro.chehab@...wei.com, John Stultz <john.stultz@...aro.org>,
        Manivannan Sadhasivam <mani@...nel.org>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-usb@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] dt-bindings: document a new quirk for dwc3

On Tue, Sep 08, 2020 at 09:20:57AM +0200, Mauro Carvalho Chehab wrote:
> At Hikey 970, setting the SPLIT disable at the General
> User Register 3 is required.
> 
> Without that, the URBs generated by the usbhid driver
> return -EPROTO errors. That causes the code at
> hid-core.c to call hid_io_error(), which schedules
> a reset_work, causing a call to hid_reset().
> 
> In turn, the code there will call:
> 
> 	usb_queue_reset_device(usbhid->intf);
> 
> The net result is that the input devices won't work, and
> will be reset on every 0.5 seconds:
> 
> 	[   33.122384] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
> 	[   33.378220] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
> 	[   33.698394] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0000
> 	[   34.882365] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
> 	[   35.138217] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
> 	[   35.458617] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0000
> 	[   36.642392] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
> 	[   36.898207] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
> 	[   37.218598] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0000
> 	[   38.402368] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
> 	[   38.658174] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
> 	[   38.978594] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0000
> 	[   40.162361] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002
> 	[   40.418148] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
> 	...
> 	[  397.698132] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
> ---
>  Documentation/devicetree/bindings/usb/dwc3.txt | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
> index d03edf9d3935..1aae2b6160c1 100644
> --- a/Documentation/devicetree/bindings/usb/dwc3.txt
> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
> @@ -78,6 +78,9 @@ Optional properties:
>  			park mode are disabled.
>   - snps,dis_metastability_quirk: when set, disable metastability workaround.
>  			CAUTION: use only if you are absolutely sure of it.
> + - snps,dis-split-quirk: when set, change the way URBs are handled by the
> +			 driver. Needed to avoid -EPROTO errors with usbhid
> +			 on some devices (Hikey 970).

Can't this be implied by the compatible string? Yes we have quirk 
properties already, but the problem with them is you can't address them 
without a DT change.

Rob

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ