|
@@ -830,7 +830,8 @@ int pcibios_set_pcie_reset_state(struct pci_dev *dev, enum pcie_reset_state stat
|
|
|
eeh_pe_state_clear(pe, EEH_PE_ISOLATED);
|
|
|
break;
|
|
|
case pcie_hot_reset:
|
|
|
- eeh_pe_state_mark_with_cfg(pe, EEH_PE_ISOLATED);
|
|
|
+ eeh_pe_state_mark(pe, EEH_PE_ISOLATED);
|
|
|
+ eeh_pe_state_clear(pe, EEH_PE_CFG_BLOCKED);
|
|
|
eeh_ops->set_option(pe, EEH_OPT_FREEZE_PE);
|
|
|
eeh_pe_dev_traverse(pe, eeh_disable_and_save_dev_state, dev);
|
|
|
if (!(pe->type & EEH_PE_VF))
|
|
@@ -838,7 +839,8 @@ int pcibios_set_pcie_reset_state(struct pci_dev *dev, enum pcie_reset_state stat
|
|
|
eeh_ops->reset(pe, EEH_RESET_HOT);
|
|
|
break;
|
|
|
case pcie_warm_reset:
|
|
|
- eeh_pe_state_mark_with_cfg(pe, EEH_PE_ISOLATED);
|
|
|
+ eeh_pe_state_mark(pe, EEH_PE_ISOLATED);
|
|
|
+ eeh_pe_state_clear(pe, EEH_PE_CFG_BLOCKED);
|
|
|
eeh_ops->set_option(pe, EEH_OPT_FREEZE_PE);
|
|
|
eeh_pe_dev_traverse(pe, eeh_disable_and_save_dev_state, dev);
|
|
|
if (!(pe->type & EEH_PE_VF))
|