[PATCH] powerpc/pseries: clear PCI failure counter if no new failures
authorLinas Vepstas <linas@austin.ibm.com>
Wed, 19 Apr 2006 04:05:21 +0000 (21:05 -0700)
committerPaul Mackerras <paulus@samba.org>
Sat, 22 Apr 2006 08:46:13 +0000 (18:46 +1000)
commitac325acd50013fa8f4953208cbb96504dec9b12a
tree6c08470d68be38504c6aadae168b873efb39e8db
parent4bd174fe1cca738f53cf8bb9ac3cb327b1f516ed
[PATCH] powerpc/pseries: clear PCI failure counter if no new failures

The current PCI error recovery system keeps track of the number of PCI card
resets, and refuses to bring a card back up if this number is too large.
The goal of doing this was to avoid an infinite loop of resets if a card is
obviously dead.  However, if the failures are rare, but the machine has a
high uptime, this mechanism might still be triggered; this is too harsh.

This patch will avoids this problem by decrementing the fail count after an
hour.  Thus, as long as a pci card BSOD's less than 6 times an hour, it
will continue to be reset indefinitely.  If it's failure rate is greater
than that, it will be taken off-line permanently.

This patch is larger than it might otherwise be because it changes
indentation by removing a pointless while-loop.  The while loop is not
needed, as the handler is invoked once fo each event (by schedule_work());
the loop is leftover cruft from an earlier implementation.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/pseries/eeh_driver.c
arch/powerpc/platforms/pseries/eeh_event.c
include/asm-powerpc/eeh_event.h