Re: [PATCH v1] usb: hcd: Try MSI interrupts on PCI devices

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

 



On Sun, Mar 06, 2022 at 04:09:49PM +0000, micklorain wrote:
> On Monday, February 28th, 2022 at 21:59, andriy.shevchenko@xxxxxxxxxxxxxxx <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
> > On Mon, Feb 28, 2022 at 08:12:47PM +0000, micklorain wrote:

...

> > Last time I have got something similar it becomes that PCI bridge which is used
> >
> > to connect USB controller to the PCI Root Bridge was not capable of MSI, while
> >
> > advertising that capability. I.o.w. HW bug.
> >
> > To understand if it's something similar, please run (under the root) each of
> >
> > the following commands:
> >
> > lspci -nk -vvv
> >
> > cat /proc/interrupts
> >
> > in both cases, i.e. working and non-working.
> >
> > And then share the output (all 4 files).

> Thanks for your reply.
> This is the results of the commands you requested :
> 
> * When things work (commit dcb85f85fa6f142aae1fe86f399d4503d49f2b60 with commit 306c54d0edb6ba94d39877524dddebaad7770cf2 reverted)
> - lspci -nk -vvv :
> https://paste.debian.net/hidden/77d92dc9/
> 
> - cat /proc/interrupts
> https://paste.debian.net/hidden/67208c8e/
> 
> * When things are broken (commit dcb85f85fa6f142aae1fe86f399d4503d49f2b60)
> - lspci -nk -vvv :
> https://paste.debian.net/hidden/121362b3/
> 
> - cat /proc/interrupts :
> https://paste.debian.net/hidden/dbe8d1bb/
> 
> Hope this can help.

Thank you for sharing. Are you able to compile a kernel and boot it? If so,
can you try the following patch?

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 65f7f6b0576c..149742aa5f4d 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3041,6 +3041,13 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,
 			PCI_DEVICE_ID_TIGON3_5715S,
 			quirk_msi_intx_disable_bug);
 
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4386, quirk_msi_intx_disable_ati_bug);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4387, quirk_msi_intx_disable_ati_bug);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4388, quirk_msi_intx_disable_ati_bug);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4389, quirk_msi_intx_disable_ati_bug);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x438a, quirk_msi_intx_disable_ati_bug);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x438b, quirk_msi_intx_disable_ati_bug);
+
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4390,
 			quirk_msi_intx_disable_ati_bug);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4391,


In case it doesn't help, remove 'ati_' part from the function name and try again.

-- 
With Best Regards,
Andy Shevchenko





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

  Powered by Linux