Lines Matching refs:e_info
811 static int add_error_device(struct aer_err_info *e_info, struct pci_dev *dev) in add_error_device() argument
813 if (e_info->error_dev_num < AER_MAX_MULTI_ERR_DEVICES) { in add_error_device()
814 e_info->dev[e_info->error_dev_num] = pci_dev_get(dev); in add_error_device()
815 e_info->error_dev_num++; in add_error_device()
826 static bool is_error_source(struct pci_dev *dev, struct aer_err_info *e_info) in is_error_source() argument
836 if ((PCI_BUS_NUM(e_info->id) != 0) && in is_error_source()
839 if (e_info->id == pci_dev_id(dev)) in is_error_source()
843 if (!e_info->multi_error_valid) in is_error_source()
867 if (e_info->severity == AER_CORRECTABLE) { in is_error_source()
882 struct aer_err_info *e_info = (struct aer_err_info *)data; in find_device_iter() local
884 if (is_error_source(dev, e_info)) { in find_device_iter()
886 if (add_error_device(e_info, dev)) { in find_device_iter()
893 if (!e_info->multi_error_valid) in find_device_iter()
912 struct aer_err_info *e_info) in find_source_device() argument
918 e_info->error_dev_num = 0; in find_source_device()
921 result = find_device_iter(dev, e_info); in find_source_device()
926 pcie_walk_rcec(parent, find_device_iter, e_info); in find_source_device()
928 pci_walk_bus(parent->subordinate, find_device_iter, e_info); in find_source_device()
930 if (!e_info->error_dev_num) { in find_source_device()
931 u8 bus = e_info->id >> 8; in find_source_device()
932 u8 devfn = e_info->id & 0xff; in find_source_device()
1117 static inline void aer_process_err_devices(struct aer_err_info *e_info) in aer_process_err_devices() argument
1122 for (i = 0; i < e_info->error_dev_num && e_info->dev[i]; i++) { in aer_process_err_devices()
1123 if (aer_get_device_error_info(e_info->dev[i], e_info)) in aer_process_err_devices()
1124 aer_print_error(e_info->dev[i], e_info); in aer_process_err_devices()
1126 for (i = 0; i < e_info->error_dev_num && e_info->dev[i]; i++) { in aer_process_err_devices()
1127 if (aer_get_device_error_info(e_info->dev[i], e_info)) in aer_process_err_devices()
1128 handle_error_source(e_info->dev[i], e_info); in aer_process_err_devices()
1141 struct aer_err_info e_info; in aer_isr_one_error() local
1150 e_info.id = ERR_COR_ID(e_src->id); in aer_isr_one_error()
1151 e_info.severity = AER_CORRECTABLE; in aer_isr_one_error()
1154 e_info.multi_error_valid = 1; in aer_isr_one_error()
1156 e_info.multi_error_valid = 0; in aer_isr_one_error()
1157 aer_print_port_info(pdev, &e_info); in aer_isr_one_error()
1159 if (find_source_device(pdev, &e_info)) in aer_isr_one_error()
1160 aer_process_err_devices(&e_info); in aer_isr_one_error()
1164 e_info.id = ERR_UNCOR_ID(e_src->id); in aer_isr_one_error()
1167 e_info.severity = AER_FATAL; in aer_isr_one_error()
1169 e_info.severity = AER_NONFATAL; in aer_isr_one_error()
1172 e_info.multi_error_valid = 1; in aer_isr_one_error()
1174 e_info.multi_error_valid = 0; in aer_isr_one_error()
1176 aer_print_port_info(pdev, &e_info); in aer_isr_one_error()
1178 if (find_source_device(pdev, &e_info)) in aer_isr_one_error()
1179 aer_process_err_devices(&e_info); in aer_isr_one_error()