aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGavin Shan <shangw@linux.vnet.ibm.com>2013-09-05 21:00:05 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-10-11 01:54:15 -0400
commit5293bf97a27e1be8ac6096aa198ff6a9e3e6837c (patch)
treec2835bc091780b6d892b4eda36032de67f787c71 /arch
parent8c6852e036daa512376de381a3b61547d90465d4 (diff)
powerpc/eeh: Reorder output messages
We already had some output messages from EEH core. Occasionally, we can see the output messages from EEH core before the stack dump. That's not what we expected. The patch fixes that and shows the stack dump prior to output messages from EEH core. Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/eeh.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c
index 55593ee2d5aa..1fb331db34c8 100644
--- a/arch/powerpc/kernel/eeh.c
+++ b/arch/powerpc/kernel/eeh.c
@@ -327,11 +327,11 @@ static int eeh_phb_check_failure(struct eeh_pe *pe)
327 /* Isolate the PHB and send event */ 327 /* Isolate the PHB and send event */
328 eeh_pe_state_mark(phb_pe, EEH_PE_ISOLATED); 328 eeh_pe_state_mark(phb_pe, EEH_PE_ISOLATED);
329 eeh_serialize_unlock(flags); 329 eeh_serialize_unlock(flags);
330 eeh_send_failure_event(phb_pe);
331 330
332 pr_err("EEH: PHB#%x failure detected\n", 331 pr_err("EEH: PHB#%x failure detected\n",
333 phb_pe->phb->global_number); 332 phb_pe->phb->global_number);
334 dump_stack(); 333 dump_stack();
334 eeh_send_failure_event(phb_pe);
335 335
336 return 1; 336 return 1;
337out: 337out:
@@ -454,8 +454,6 @@ int eeh_dev_check_failure(struct eeh_dev *edev)
454 eeh_pe_state_mark(pe, EEH_PE_ISOLATED); 454 eeh_pe_state_mark(pe, EEH_PE_ISOLATED);
455 eeh_serialize_unlock(flags); 455 eeh_serialize_unlock(flags);
456 456
457 eeh_send_failure_event(pe);
458
459 /* Most EEH events are due to device driver bugs. Having 457 /* Most EEH events are due to device driver bugs. Having
460 * a stack trace will help the device-driver authors figure 458 * a stack trace will help the device-driver authors figure
461 * out what happened. So print that out. 459 * out what happened. So print that out.
@@ -464,6 +462,8 @@ int eeh_dev_check_failure(struct eeh_dev *edev)
464 pe->addr, pe->phb->global_number); 462 pe->addr, pe->phb->global_number);
465 dump_stack(); 463 dump_stack();
466 464
465 eeh_send_failure_event(pe);
466
467 return 1; 467 return 1;
468 468
469dn_unlock: 469dn_unlock: