Patch "usb:xhci:Fix regression when ATI chipsets detected" has been added to the 4.13-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
usb:xhci:Fix regression when ATI chipsets detected
to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
usb-xhci-fix-regression-when-ati-chipsets-detected.patch
and it can be found in the queue-4.13 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
e6b422b88b46353cf596e0db6dc0e39d50d90d6eMon Sep 17 00:00:00 2001
From: Sandeep Singh <[email protected]>
Date: Thu, 24 Aug 2017 09:57:15 +0530
Subject: usb:xhci:Fix regression when ATI chipsets detected
From: Sandeep Singh <[email protected]>
commit e6b422b88b46353cf596e0db6dc0e39d50d90d6e upstream.
The following commit cause a regression on ATI chipsets. 'commit e788787ef4f9 ("usb:xhci:Add quirk for Certain failing HP keyboard on reset after resume")'
This causes pinfo->smbus_dev to be wrongly set to NULL on systems with the ATI chipset that this function checks for first.
Added conditional check for AMD chipsets to avoid the overwriting pinfo->smbus_dev.
failing HP keyboard on reset after resume")
--- drivers/usb/host/pci-quirks.c | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-)
drivers/usb/host/pci-quirks.c +18 -17
@@ -142,29 +142,30 @@ 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 ); -if (!pinfo->smbus_dev) { - pinfo->sb_type.gen =NOT_AMD_CHIPSET ; -return 0 ; +if (pinfo->smbus_dev) { + rev = pinfo->smbus_dev->revision; +if (rev >=0x11 && rev <=0x14 ) + pinfo->sb_type.gen =AMD_CHIPSET_HUDSON2 ; +else if (rev >=0x15 && rev <=0x18 ) + pinfo->sb_type.gen =AMD_CHIPSET_BOLTON ; +else if (rev >=0x39 && rev <=0x3a ) + pinfo->sb_type.gen =AMD_CHIPSET_YANGTZE ; + }else { + pinfo->smbus_dev =pci_get_device (PCI_VENDOR_ID_AMD , +0x145c ,NULL ); +if (pinfo->smbus_dev) { + rev = pinfo->smbus_dev->revision; + pinfo->sb_type.gen =AMD_CHIPSET_TAISHAN ; + }else { + pinfo->sb_type.gen =NOT_AMD_CHIPSET ; +return 0 ; + } } - - rev = pinfo->smbus_dev->revision; -if (rev >=0x11 && rev <=0x14 ) - pinfo->sb_type.gen =AMD_CHIPSET_HUDSON2 ; -else if (rev >=0x15 && rev <=0x18 ) - pinfo->sb_type.gen =AMD_CHIPSET_BOLTON ; -else if (rev >=0x39 && rev <=0x3a ) - pinfo->sb_type.gen =AMD_CHIPSET_YANGTZE ; } - pinfo->sb_type.rev = rev;return 1 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.13/usb-xhci-fix-regression-when-ati-chipsets-detected.patch