@@ -274,20 +274,27 @@ void dpc_process_error(struct pci_dev *pdev)
274
274
pci_info (pdev , "containment event, status:%#06x source:%#06x\n" ,
275
275
status , source );
276
276
277
- reason = ( status & PCI_EXP_DPC_STATUS_TRIGGER_RSN ) >> 1 ;
278
- ext_reason = ( status & PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT ) >> 5 ;
277
+ reason = status & PCI_EXP_DPC_STATUS_TRIGGER_RSN ;
278
+ ext_reason = status & PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT ;
279
279
pci_warn (pdev , "%s detected\n" ,
280
- (reason == 0 ) ? "unmasked uncorrectable error" :
281
- (reason == 1 ) ? "ERR_NONFATAL" :
282
- (reason == 2 ) ? "ERR_FATAL" :
283
- (ext_reason == 0 ) ? "RP PIO error" :
284
- (ext_reason == 1 ) ? "software trigger" :
285
- "reserved error" );
280
+ (reason == PCI_EXP_DPC_STATUS_TRIGGER_RSN_UNCOR ) ?
281
+ "unmasked uncorrectable error" :
282
+ (reason == PCI_EXP_DPC_STATUS_TRIGGER_RSN_NFE ) ?
283
+ "ERR_NONFATAL" :
284
+ (reason == PCI_EXP_DPC_STATUS_TRIGGER_RSN_FE ) ?
285
+ "ERR_FATAL" :
286
+ (ext_reason == PCI_EXP_DPC_STATUS_TRIGGER_RSN_RP_PIO ) ?
287
+ "RP PIO error" :
288
+ (ext_reason == PCI_EXP_DPC_STATUS_TRIGGER_RSN_SW_TRIGGER ) ?
289
+ "software trigger" :
290
+ "reserved error" );
286
291
287
292
/* show RP PIO error detail information */
288
- if (pdev -> dpc_rp_extensions && reason == 3 && ext_reason == 0 )
293
+ if (pdev -> dpc_rp_extensions &&
294
+ reason == PCI_EXP_DPC_STATUS_TRIGGER_RSN_IN_EXT &&
295
+ ext_reason == PCI_EXP_DPC_STATUS_TRIGGER_RSN_RP_PIO )
289
296
dpc_process_rp_pio_error (pdev );
290
- else if (reason == 0 &&
297
+ else if (reason == PCI_EXP_DPC_STATUS_TRIGGER_RSN_UNCOR &&
291
298
dpc_get_aer_uncorrect_severity (pdev , & info ) &&
292
299
aer_get_device_error_info (pdev , & info )) {
293
300
aer_print_error (pdev , & info );
0 commit comments