Re: [PATCH 4.12 47/65] usb:xhci:Add quirk for Certain failing HP keyboard on reset after resume

From: Greg Kroah-Hartman
Date: Fri Aug 18 2017 - 18:51:01 EST


On Fri, Aug 18, 2017 at 09:02:48PM +0100, Ben Hutchings wrote:
> On Mon, 2017-08-14 at 18:19 -0700, Greg Kroah-Hartman wrote:
> > 4.12-stable review patch.  If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: Sandeep Singh <sandeep.singh@xxxxxxx>
> >
> > commit e788787ef4f9c24aafefc480a8da5f92b914e5e6 upstream.
> [...]
> > --- a/drivers/usb/host/pci-quirks.c
> > +++ b/drivers/usb/host/pci-quirks.c
> > @@ -98,6 +98,7 @@ enum amd_chipset_gen {
> >   AMD_CHIPSET_HUDSON2,
> >   AMD_CHIPSET_BOLTON,
> >   AMD_CHIPSET_YANGTZE,
> > + AMD_CHIPSET_TAISHAN,
> >   AMD_CHIPSET_UNKNOWN,
> >  };
> >  
> > @@ -141,6 +142,11 @@ static int amd_chipset_sb_type_init(stru
> >   pinfo->sb_type.gen = AMD_CHIPSET_SB700;
> >   else if (rev >= 0x40 && rev <= 0x4f)
> >   pinfo->sb_type.gen = AMD_CHIPSET_SB800;
> > + }
> > + pinfo->smbus_dev = pci_get_device(PCI_VENDOR_ID_AMD,
> > +   0x145c, NULL);
> > + if (pinfo->smbus_dev) {
> > + pinfo->sb_type.gen = AMD_CHIPSET_TAISHAN;
> >   } else {
> >   pinfo->smbus_dev = pci_get_device(PCI_VENDOR_ID_AMD,
> >   PCI_DEVICE_ID_AMD_HUDSON2_SMBUS, NULL);
> [...]
>
> This causes pinfo->smbus_dev to be wrongly set to NULL on systems with
> the ATI chipset that this function checks for first.

Ugh, for such a "simple" quirk, this has gone through so many different
iterations, all of which seem broken :(

Sandeep, can you fix this up and send a follow-on patch to us and the
linux-usb mailing list so we can get it fixed up properly?

thanks,

greg k-h