File tree 2 files changed +10
-2
lines changed
2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -508,7 +508,9 @@ int eeh_dev_check_failure(struct eeh_dev *edev)
508
508
* state, PE is in good state.
509
509
*/
510
510
if ((ret < 0 ) ||
511
- (ret == EEH_STATE_NOT_SUPPORT ) || eeh_state_active (ret )) {
511
+ (ret == EEH_STATE_NOT_SUPPORT &&
512
+ dev -> error_state == pci_channel_io_perm_failure ) ||
513
+ eeh_state_active (ret )) {
512
514
eeh_stats .false_positives ++ ;
513
515
pe -> false_positives ++ ;
514
516
rc = 0 ;
Original file line number Diff line number Diff line change @@ -867,7 +867,13 @@ void eeh_handle_normal_event(struct eeh_pe *pe)
867
867
if (!devices ) {
868
868
pr_debug ("EEH: Frozen PHB#%x-PE#%x is empty!\n" ,
869
869
pe -> phb -> global_number , pe -> addr );
870
- goto out ; /* nothing to recover */
870
+ /*
871
+ * The device is removed, Tear down its state,
872
+ * On powernv hotplug driver would take care of
873
+ * it but not on pseries, Permanently disable the
874
+ * card as it is hot removed.
875
+ */
876
+ goto recover_failed ;
871
877
}
872
878
873
879
/* Log the event */
You can’t perform that action at this time.
0 commit comments