PCI/AER: Remove error source from AER struct aer_rpc
The AER struct aer_rpc was carrying a copy of the error source simply as a temperary variable. Remove that from the structure and use a stack variable for the purpose. Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
3e41a317ae
commit
fcd4d36903
|
@ -44,7 +44,6 @@ struct aer_rpc {
|
|||
struct pci_dev *rpd; /* Root Port device */
|
||||
struct work_struct dpc_handler;
|
||||
struct aer_err_source e_sources[AER_ERROR_SOURCES_MAX];
|
||||
struct aer_err_info e_info;
|
||||
unsigned short prod_idx; /* Error Producer Index */
|
||||
unsigned short cons_idx; /* Error Consumer Index */
|
||||
int isr;
|
||||
|
@ -1176,7 +1175,7 @@ static void aer_isr_one_error(struct aer_rpc *rpc,
|
|||
struct aer_err_source *e_src)
|
||||
{
|
||||
struct pci_dev *pdev = rpc->rpd;
|
||||
struct aer_err_info *e_info = &rpc->e_info;
|
||||
struct aer_err_info e_info;
|
||||
|
||||
pci_rootport_aer_stats_incr(pdev, e_src);
|
||||
|
||||
|
@ -1185,36 +1184,36 @@ static void aer_isr_one_error(struct aer_rpc *rpc,
|
|||
* uncorrectable error being logged. Report correctable error first.
|
||||
*/
|
||||
if (e_src->status & PCI_ERR_ROOT_COR_RCV) {
|
||||
e_info->id = ERR_COR_ID(e_src->id);
|
||||
e_info->severity = AER_CORRECTABLE;
|
||||
e_info.id = ERR_COR_ID(e_src->id);
|
||||
e_info.severity = AER_CORRECTABLE;
|
||||
|
||||
if (e_src->status & PCI_ERR_ROOT_MULTI_COR_RCV)
|
||||
e_info->multi_error_valid = 1;
|
||||
e_info.multi_error_valid = 1;
|
||||
else
|
||||
e_info->multi_error_valid = 0;
|
||||
aer_print_port_info(pdev, e_info);
|
||||
e_info.multi_error_valid = 0;
|
||||
aer_print_port_info(pdev, &e_info);
|
||||
|
||||
if (find_source_device(pdev, e_info))
|
||||
aer_process_err_devices(e_info);
|
||||
if (find_source_device(pdev, &e_info))
|
||||
aer_process_err_devices(&e_info);
|
||||
}
|
||||
|
||||
if (e_src->status & PCI_ERR_ROOT_UNCOR_RCV) {
|
||||
e_info->id = ERR_UNCOR_ID(e_src->id);
|
||||
e_info.id = ERR_UNCOR_ID(e_src->id);
|
||||
|
||||
if (e_src->status & PCI_ERR_ROOT_FATAL_RCV)
|
||||
e_info->severity = AER_FATAL;
|
||||
e_info.severity = AER_FATAL;
|
||||
else
|
||||
e_info->severity = AER_NONFATAL;
|
||||
e_info.severity = AER_NONFATAL;
|
||||
|
||||
if (e_src->status & PCI_ERR_ROOT_MULTI_UNCOR_RCV)
|
||||
e_info->multi_error_valid = 1;
|
||||
e_info.multi_error_valid = 1;
|
||||
else
|
||||
e_info->multi_error_valid = 0;
|
||||
e_info.multi_error_valid = 0;
|
||||
|
||||
aer_print_port_info(pdev, e_info);
|
||||
aer_print_port_info(pdev, &e_info);
|
||||
|
||||
if (find_source_device(pdev, e_info))
|
||||
aer_process_err_devices(e_info);
|
||||
if (find_source_device(pdev, &e_info))
|
||||
aer_process_err_devices(&e_info);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue