patch "usb:xhci:Fix regression when ATI chipsets detected" added to usb-next
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 my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-next branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will also be merged in the next major kernel release during the merge window.
If you have any questions about this process, please let me know.
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
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(struct amd_chipset_info *pinfo) 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 ; }
Signature · 1 line
2.14.1