From c86e5e427ca40dd13586c1f5e7fa1f084cd5f576 Mon Sep 17 00:00:00 2001 From: Linas Vepstas Date: Fri, 16 Nov 2007 05:58:36 +1100 Subject: [PATCH] --- yaml --- r: 80975 b: refs/heads/master c: 5f1a7c811bb1aa5259afb8967c704f1306eaacb3 h: refs/heads/master i: 80973: 34ee93e7999868263ca21d4ad75df6bb9e816f0e 80971: e24868a77820d614e5a798dda52f0ce1b15b8165 80967: 5c7ee0d0757ef0773842f465102e689842b91aa7 80959: ad59e4f9f383ab9a11ea7bd11f6ef2a5f0bbd668 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/platforms/pseries/eeh_driver.c | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 3bc667395194..1ba1ccb94980 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c9b65a7da694bd774398283b9bd860f7e3234432 +refs/heads/master: 5f1a7c811bb1aa5259afb8967c704f1306eaacb3 diff --git a/trunk/arch/powerpc/platforms/pseries/eeh_driver.c b/trunk/arch/powerpc/platforms/pseries/eeh_driver.c index 57e025e84ab4..06b89b56d0e9 100644 --- a/trunk/arch/powerpc/platforms/pseries/eeh_driver.c +++ b/trunk/arch/powerpc/platforms/pseries/eeh_driver.c @@ -354,13 +354,6 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event) if (frozen_pdn->eeh_freeze_count > EEH_MAX_ALLOWED_FREEZES) goto excess_failures; - /* Get the current PCI slot state. */ - rc = eeh_wait_for_slot_status (frozen_pdn, MAX_WAIT_FOR_RECOVERY*1000); - if (rc < 0) { - printk(KERN_WARNING "EEH: Permanent failure\n"); - goto hard_fail; - } - printk(KERN_WARNING "EEH: This PCI device has failed %d times in the last hour:\n", frozen_pdn->eeh_freeze_count); @@ -376,6 +369,14 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event) */ pci_walk_bus(frozen_bus, eeh_report_error, &result); + /* Get the current PCI slot state. This can take a long time, + * sometimes over 3 seconds for certain systems. */ + rc = eeh_wait_for_slot_status (frozen_pdn, MAX_WAIT_FOR_RECOVERY*1000); + if (rc < 0) { + printk(KERN_WARNING "EEH: Permanent failure\n"); + goto hard_fail; + } + /* Since rtas may enable MMIO when posting the error log, * don't post the error log until after all dev drivers * have been informed.