Re: [PATCH] PCI: Avoid broken MSI on SB600 USB devices

From: Andy Shevchenko
Date: Wed Mar 23 2022 - 04:04:23 EST


On Wed, Mar 23, 2022 at 4:26 AM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote:
> On Mon, Mar 21, 2022 at 01:34:46PM -0500, Bjorn Helgaas wrote:
> > From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> >
> > Some ATI SB600 USB adapters advertise MSI, but if INTx is disabled by
> > setting PCI_COMMAND_INTX_DISABLE,

> > MSI doesn't work either.

I think this is not correct.

> > The PCI/PCIe
> > specs do not require software to set PCI_COMMAND_INTX_DISABLE when enabling
> > MSI, but Linux has done that for many years.
> >
> > Mick reported that 306c54d0edb6 ("usb: hcd: Try MSI interrupts on PCI
> > devices") broke these devices. Prior to 306c54d0edb6, they used INTx.
> > Starting with 306c54d0edb6, they use MSI, and and the fact that Linux sets
> > PCI_COMMAND_INTX_DISABLE means both INTx and MSI are disabled on these
> > devices.

> > Avoid this SB600 defect by disabling MSI so we use INTx as before.

And this is kinda too conservative approach.

> > Fixes: 306c54d0edb6 ("usb: hcd: Try MSI interrupts on PCI devices")
> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=215690
> > Link: https://lore.kernel.org/all/PxIByDyBRcsbpcmVhGSNDFAoUcMmb78ctXCkw6fbpx25TGlCHvA6SJjjFkNr1FfQZMntYPTNyvEnblxzAZ8a6jP9ddLpKeCN6Chi_2FuexU=@protonmail.com/
> > BugLink: https://lore.kernel.org/all/20200702143045.23429-1-andriy.shevchenko@xxxxxxxxxxxxxxx/
> > Link: https://lore.kernel.org/r/20220314101448.90074-1-andriy.shevchenko@xxxxxxxxxxxxxxx
> > Reported-by: Mick Lorain <micklorain@xxxxxxxxxxxxxx>
> > Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

And it hasn't been tested by the reporter.

> Unless there's objection, I plan to include this in the v5.18 pull
> request in the next few days.

You are the maintainer here and it's your choice. I'm not going to stop you.

--
With Best Regards,
Andy Shevchenko