• Kristen Carlson Accardi's avatar
    pci: clear osc support flags if no _OSC method · 0dcb2b7e
    Kristen Carlson Accardi authored
    So it looks like pci aer code will call pci_osc_support_set to tell the
    firmware about  OSC_EXT_PCI_CONFIG_SUPPORT flag.  that causes
    ctrlset_buf[OSC_SUPPORT_TYPE] to evaluate to true when pciehp calls
    pci_osc_control_set() is called (to attempt to use OSC to gain native
    pcie control from firmware), regardless of whether or not _OSC was
    actually successfully executed.  That causes this section of code:
     if (ctrlset_buf[OSC_SUPPORT_TYPE] &&
                    ((global_ctrlsets & ctrlset) != ctrlset)) {
                    return AE_SUPPORT;
            }
    to be hit.
    
    This patch will reset the OSC_SUPPORT_TYPE field if _OSC fails, and then
    would allow pciehp to go ahead and try to run _OSC again.
    Signed-off-by: default avatarKristen Carlson Accardi <kristen.c.accardi@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    0dcb2b7e
pci-acpi.c 8.4 KB