powerpc/eeh: Cleanup eeh_pe_state_mark()
Currently, eeh_pe_state_mark() marks a PE (and it's children) with a state and then performs additional processing if that state included EEH_PE_ISOLATED. The state parameter is always a constant at the call site, so rearrange eeh_pe_state_mark() into two functions and just call the appropriate one at each site. Signed-off-by: Sam Bobroff <sbobroff@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
eed4bdbeec
commit
e762bb891a
@@ -404,7 +404,7 @@ static int eeh_phb_check_failure(struct eeh_pe *pe)
|
||||
}
|
||||
|
||||
/* Isolate the PHB and send event */
|
||||
eeh_pe_state_mark(phb_pe, EEH_PE_ISOLATED);
|
||||
eeh_pe_mark_isolated(phb_pe);
|
||||
eeh_serialize_unlock(flags);
|
||||
|
||||
pr_err("EEH: PHB#%x failure detected, location: %s\n",
|
||||
@@ -563,7 +563,7 @@ int eeh_dev_check_failure(struct eeh_dev *edev)
|
||||
* with other functions on this device, and functions under
|
||||
* bridges.
|
||||
*/
|
||||
eeh_pe_state_mark(pe, EEH_PE_ISOLATED);
|
||||
eeh_pe_mark_isolated(pe);
|
||||
eeh_serialize_unlock(flags);
|
||||
|
||||
/* Most EEH events are due to device driver bugs. Having
|
||||
@@ -830,7 +830,7 @@ 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(pe, EEH_PE_ISOLATED);
|
||||
eeh_pe_mark_isolated(pe);
|
||||
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);
|
||||
@@ -839,7 +839,7 @@ 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(pe, EEH_PE_ISOLATED);
|
||||
eeh_pe_mark_isolated(pe);
|
||||
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);
|
||||
|
Reference in New Issue
Block a user