Skip to content

Commit d3e3120

Browse files
author
Fox Snowpatch
committed
1 parent 4db4221 commit d3e3120

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

arch/powerpc/kernel/eeh.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,9 @@ int eeh_dev_check_failure(struct eeh_dev *edev)
508508
* state, PE is in good state.
509509
*/
510510
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)) {
512514
eeh_stats.false_positives++;
513515
pe->false_positives++;
514516
rc = 0;

arch/powerpc/kernel/eeh_driver.c

+7-1
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,13 @@ void eeh_handle_normal_event(struct eeh_pe *pe)
867867
if (!devices) {
868868
pr_debug("EEH: Frozen PHB#%x-PE#%x is empty!\n",
869869
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;
871877
}
872878

873879
/* Log the event */

0 commit comments

Comments
 (0)