return bridge->link_state;
 }
 
-static int __pci_disable_link_state(struct pci_dev *pdev, int state, bool sem)
+static int __pci_disable_link_state(struct pci_dev *pdev, int state, bool locked)
 {
        struct pcie_link_state *link = pcie_aspm_get_link(pdev);
 
                return -EPERM;
        }
 
-       if (sem)
+       if (!locked)
                down_read(&pci_bus_sem);
        mutex_lock(&aspm_lock);
        if (state & PCIE_LINK_STATE_L0S)
                link->clkpm_disable = 1;
        pcie_set_clkpm(link, policy_to_clkpm_state(link));
        mutex_unlock(&aspm_lock);
-       if (sem)
+       if (!locked)
                up_read(&pci_bus_sem);
 
        return 0;
 
 int pci_disable_link_state_locked(struct pci_dev *pdev, int state)
 {
-       return __pci_disable_link_state(pdev, state, false);
+       return __pci_disable_link_state(pdev, state, true);
 }
 EXPORT_SYMBOL(pci_disable_link_state_locked);
 
  */
 int pci_disable_link_state(struct pci_dev *pdev, int state)
 {
-       return __pci_disable_link_state(pdev, state, true);
+       return __pci_disable_link_state(pdev, state, false);
 }
 EXPORT_SYMBOL(pci_disable_link_state);