Re: [PATCH v1 1/1] PCI: Enable INTx quirk for ATI PCIe-USB adapter

Andy Shevchenko
2022-03-16T16:17:30Z

On Wed, Mar 16, 2022 at 06:52:09AM -0500, Bjorn Helgaas wrote:
> On Wed, Mar 16, 2022 at 12:27:57PM +0200, Andy Shevchenko wrote:
> > On Tue, Mar 15, 2022 at 03:22:31PM -0500, Bjorn Helgaas wrote:
> > > On Tue, Mar 15, 2022 at 12:09:08PM +0200, Andy Shevchenko wrote:
> > > > On Mon, Mar 14, 2022 at 02:42:53PM -0500, Bjorn Helgaas wrote:
> > > > > On Mon, Mar 14, 2022 at 12:14:48PM +0200, Andy Shevchenko wrote:
> > > > > > ATI PCIe-USB adapter advertises MSI, but it doesn't work if INTx is disabled.
> > > > > > Enable the respective quirk as it's done for other ATI devices on this chipset,
> > > > > >
> > > > > > Fixes: 306c54d0edb6 ("usb: hcd: Try MSI interrupts on PCI devices")
> > > > >
> > > > > This is interesting because there must be a TON of these AMD/ATI SB600
> > > > > USB devices in the field, and 306c54d0edb6 was merged in July 2020 and
> > > > > appeared in v5.9.
> > > > >
> > > > > So why would we only get a report now, in February 2022? Is there
> > > > > some change more recent than 306c54d0edb6 that exposed this problem?
> > > >
> > > > I think it's a rhetorical question. To me it's as simple as the latency
> > > > between getting the change into the kernel.
> > > >
> > > > However, I'm a bit worried that in case of ATI there are not so many
> > > > platforms that are kept up-to-dated.
> > >
> > > This would be a rhetorical question if I were not interested in the
> > > answer but asking only to make a point. That's not the case at all.
> > >
> > > If these SB600 USB devices stopped working in v5.9 (October 2020),
> > > that would affect lots of keyboards and mice, and I would be surprised
> > > if we didn't hear about it until February, 2022.
> > >
> > > I looked through https://github.com/linuxhw/Dmesg, and there are at
> > > least 40 dmesg logs from v5.9 or later with SB600 USB, so I'm
> > > still a little skeptical that 306c54d0edb6 by itself is enough to
> > > explain this.
> > >
> > > Anyway, I applied this to pci/msi for v5.18 with the following commit
> > > log:
> > >
> > > PCI: Disable broken MSI on ATI SB600 USB adapters
> > >
> > > Some ATI SB600 USB adapters advertise MSI, but MSI doesn't work if INTx is
> > > disabled. Disable MSI on these adapters.
> >
> > But IIUC MSI is _not_ disabled. That's why I have issued this version of the
> > patch with different commit message. Did I misunderstand something?
>
> Oh, right, of course. Sorry, I was asleep at the wheel.

Are you going to fix that?

> I guess it's just that for these devices, we don't disable INTx when
> enabling MSI. I can't remember why we disable INTx when enabling MSI,
> but it raises the question of whether it's better to leave INTx
> enabled or to just disable use of MSI completely.

It's required by specification to disable INTx if I read 6.1.4.3
Enabling Operation correctly.

--
With Best Regards,
Andy Shevchenko