diff mbox series

[v2] fix: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a V0.96 controller

Message ID em0b7a6682-2da4-4480-8801-1107ea9756dd@aea403bc.com (mailing list archive)
State Superseded
Headers show
Series [v2] fix: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a V0.96 controller | expand

Commit Message

Jens Glathe Sept. 24, 2022, 8:16 a.m. UTC
Hi there,

second try at a patch which was an actual pain with my Lenovo T500 notebook, augmented with an USB3 PCMCIA card that has an ASM1042 chip. Inspired by this email thread: https://markmail.org/thread/7vzqbe7t6du6qsw3

ASM1042 identifies as a 0x96 XHCI host, brings spurious transfer event errors with a r8152 (Realtek 8153a) USB3 enthernet adapter. Additionally setting quirk XHCI_SPURIOUS_SUCCESS seems to resolve this issue in this case.

with best regards

Jens Glathe

---

v1->v2

intensive use of scripts/checkpatch.pl, reformatted the code
reformatted the commit text for line wraps
From ffb3a70a48b91b79943a0131ddd470e5f09c0f41 Mon Sep 17 00:00:00 2001
From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Date: Sun, 28 Aug 2022 16:23:41 +0200
Subject: [PATCH] fix: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a
 V0.96 controller

only if it reports as a V0.96 XHCI controller. Appears to fix the errors
"xhci_hcd <address>; ERROR Transfer event TRB DMA ptr not part of
current TD ep_index 2 comp_code 13" that appear spuriously (or pretty
often) when using a r8152 USB3 ethernet adapter with integrated hub.

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 drivers/usb/host/xhci-pci.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

Comments

Greg Kroah-Hartman Sept. 24, 2022, 8:47 a.m. UTC | #1
On Sat, Sep 24, 2022 at 08:16:34AM +0000, Jens Glathe wrote:
> Hi there,
> 
> second try at a patch which was an actual pain with my Lenovo T500 notebook, augmented with an USB3 PCMCIA card that has an ASM1042 chip. Inspired by this email thread: https://markmail.org/thread/7vzqbe7t6du6qsw3
> 
> ASM1042 identifies as a 0x96 XHCI host, brings spurious transfer event errors with a r8152 (Realtek 8153a) USB3 enthernet adapter. Additionally setting quirk XHCI_SPURIOUS_SUCCESS seems to resolve this issue in this case.
> 
> with best regards
> 
> Jens Glathe
> 
> ---
> 
> v1->v2
> 
> intensive use of scripts/checkpatch.pl, reformatted the code
> reformatted the commit text for line wraps

> From ffb3a70a48b91b79943a0131ddd470e5f09c0f41 Mon Sep 17 00:00:00 2001
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> Date: Sun, 28 Aug 2022 16:23:41 +0200
> Subject: [PATCH] fix: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a
>  V0.96 controller
> 
> only if it reports as a V0.96 XHCI controller. Appears to fix the errors
> "xhci_hcd <address>; ERROR Transfer event TRB DMA ptr not part of
> current TD ep_index 2 comp_code 13" that appear spuriously (or pretty
> often) when using a r8152 USB3 ethernet adapter with integrated hub.
> 
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
>  drivers/usb/host/xhci-pci.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index dce6c0ec8d34..f8b3b34d257e 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -305,9 +305,13 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
>  		xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
>  	}
>  
> -	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
> -		pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
> -		xhci->quirks |= XHCI_BROKEN_STREAMS;
> +  if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
> +      pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) {
> +    /* try to tame the ASMedia 1042 controller which is 0.96 */
> +    if (xhci->hci_version == 0x96)
> +      xhci->quirks |= XHCI_SPURIOUS_SUCCESS;
> +    xhci->quirks |= XHCI_BROKEN_STREAMS;
> +  }
>  	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
>  		pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI) {
>  		xhci->quirks |= XHCI_TRUST_TX_LENGTH;
> -- 
> 2.25.1
> 

Hi,

This is the friendly patch-bot of Greg Kroah-Hartman.  You have sent him
a patch that has triggered this response.  He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created.  Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.

You are receiving this message because of the following common error(s)
as indicated below:

- Your patch contains warnings and/or errors noticed by the
  scripts/checkpatch.pl tool.

- Your patch was attached, please place it inline so that it can be
  applied directly from the email message itself.

- This looks like a new version of a previously submitted patch, but you
  did not list below the --- line any changes from the previous version.
  Please read the section entitled "The canonical patch format" in the
  kernel file, Documentation/SubmittingPatches for what needs to be done
  here to properly describe this.

If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.

thanks,

greg k-h's patch email bot
Jens Glathe Sept. 25, 2022, 7:50 a.m. UTC | #2
Hi there,

I'm a bit at a loss here. This is a three-line change, and I get loads 
of warnings regarding "please, no spaces at beginning of lines". I also 
got some about proper indentation... what now? Anyway. I have 
reformatted the whole section that replaces the three lines, all tab 
indents. Script/bot doesn't really like it, but looks proper to me as a 
coder.
Anyway, the issue at hand is a bit bigger. I installed mutt and git-mail 
on the dev machine, and it actually works. But guess what, when I want 
to mail out the patch to the maintainers, it gets rejected by the mailer 
daemon (not on my machine, some MTA on the way) because 1und1 (my isp 
where the email address I use is registered) has a low reputation and 
gets blacklisted. So I go and use the eMClient on my Windows machine and 
attach the patch file... I could do an uuencode and copy/paste the text, 
maybe next time.
Also, I happen to not understand this patch and patch resend business, 
apparrently. I tried to fix all check errors of scripts/checkpatch.pl, 
and amended my commit in my branch (apparrently this). So this is still 
one commit... and the patch is one patch that should go into an upstream 
commit... and that should be it.
To conclude,

- I tried to fix the format
- I can't fix the other MTA (and I won't go out and get employed at 
intel or something to have a respectable email address)
- I don't understand this resubmit business.

Can you please help? In the meantime I will re-read "The canonical patch 
format" for further insight.

with best regards

Jens Glathe


------ Originalnachricht ------
Von "Greg KH" <gregkh@linuxfoundation.org>
An "Jens Glathe" <jens.glathe@oldschoolsolutions.biz>
Cc mathias.nyman@intel.com; linux-usb@vger.kernel.org; 
linux-kernel@vger.kernel.org
Datum 24.09.2022 10:47:48
Betreff Re: [PATCH v2] fix: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite 
being a V0.96 controller

>On Sat, Sep 24, 2022 at 08:16:34AM +0000, Jens Glathe wrote:
>>Hi there,
>>
>>second try at a patch which was an actual pain with my Lenovo T500 notebook, augmented with an USB3 PCMCIA card that has an ASM1042 chip. Inspired by this email thread: https://markmail.org/thread/7vzqbe7t6du6qsw3
>>
>>ASM1042 identifies as a 0x96 XHCI host, brings spurious transfer event errors with a r8152 (Realtek 8153a) USB3 enthernet adapter. Additionally setting quirk XHCI_SPURIOUS_SUCCESS seems to resolve this issue in this case.
>>
>>with best regards
>>
>>Jens Glathe
>>
>>---
>>
>>v1->v2
>>
>>intensive use of scripts/checkpatch.pl, reformatted the code
>>reformatted the commit text for line wraps
>
>>From ffb3a70a48b91b79943a0131ddd470e5f09c0f41 Mon Sep 17 00:00:00 2001
>>From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>>Date: Sun, 28 Aug 2022 16:23:41 +0200
>>Subject: [PATCH] fix: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a
>>  V0.96 controller
>>
>>only if it reports as a V0.96 XHCI controller. Appears to fix the errors
>>"xhci_hcd <address>; ERROR Transfer event TRB DMA ptr not part of
>>current TD ep_index 2 comp_code 13" that appear spuriously (or pretty
>>often) when using a r8152 USB3 ethernet adapter with integrated hub.
>>
>>Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>>---
>>  drivers/usb/host/xhci-pci.c | 10 +++++++---
>>  1 file changed, 7 insertions(+), 3 deletions(-)
>>
>>diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
>>index dce6c0ec8d34..f8b3b34d257e 100644
>>--- a/drivers/usb/host/xhci-pci.c
>>+++ b/drivers/usb/host/xhci-pci.c
>>@@ -305,9 +305,13 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
>>  		xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
>>  	}
>>  -	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
>>-		pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
>>-		xhci->quirks |= XHCI_BROKEN_STREAMS;
>>+  if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
>>+      pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) {
>>+    /* try to tame the ASMedia 1042 controller which is 0.96 */
>>+    if (xhci->hci_version == 0x96)
>>+      xhci->quirks |= XHCI_SPURIOUS_SUCCESS;
>>+    xhci->quirks |= XHCI_BROKEN_STREAMS;
>>+  }
>>  	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
>>  		pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI) {
>>  		xhci->quirks |= XHCI_TRUST_TX_LENGTH;
>>-- 2.25.1
>>
>
>Hi,
>
>This is the friendly patch-bot of Greg Kroah-Hartman.  You have sent him
>a patch that has triggered this response.  He used to manually respond
>to these common problems, but in order to save his sanity (he kept
>writing the same thing over and over, yet to different people), I was
>created.  Hopefully you will not take offence and will fix the problem
>in your patch and resubmit it so that it can be accepted into the Linux
>kernel tree.
>
>You are receiving this message because of the following common error(s)
>as indicated below:
>
>- Your patch contains warnings and/or errors noticed by the
>  scripts/checkpatch.pl tool.
>
>- Your patch was attached, please place it inline so that it can be
>  applied directly from the email message itself.
>
>- This looks like a new version of a previously submitted patch, but you
>  did not list below the --- line any changes from the previous version.
>  Please read the section entitled "The canonical patch format" in the
>  kernel file, Documentation/SubmittingPatches for what needs to be done
>  here to properly describe this.
>
>If you wish to discuss this problem further, or you have questions about
>how to resolve this issue, please feel free to respond to this email and
>Greg will reply once he has dug out from the pending patches received
>from other developers.
>
>thanks,
>
>greg k-h's patch email bot
Greg Kroah-Hartman Sept. 25, 2022, 8:07 a.m. UTC | #3
On Sun, Sep 25, 2022 at 07:50:48AM +0000, Jens Glathe wrote:
> Hi there,
> 
> I'm a bit at a loss here. This is a three-line change, and I get loads of
> warnings regarding "please, no spaces at beginning of lines".

Yes, that's not allowed, kernel development uses tabs, not spaces.  Fix
that up and resend and all should be good.

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index dce6c0ec8d34..f8b3b34d257e 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -305,9 +305,13 @@  static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
 		xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
 	}
 
-	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
-		pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
-		xhci->quirks |= XHCI_BROKEN_STREAMS;
+  if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
+      pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) {
+    /* try to tame the ASMedia 1042 controller which is 0.96 */
+    if (xhci->hci_version == 0x96)
+      xhci->quirks |= XHCI_SPURIOUS_SUCCESS;
+    xhci->quirks |= XHCI_BROKEN_STREAMS;
+  }
 	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 		pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI) {
 		xhci->quirks |= XHCI_TRUST_TX_LENGTH;