GenWQE: Improve hardware error recovery
authorKleber Sacilotto de Souza <klebers@linux.vnet.ibm.com>
Wed, 4 Jun 2014 13:57:52 +0000 (10:57 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jul 2014 21:14:27 +0000 (14:14 -0700)
commit93b772b25fa905c9158ee73c11c87b48668eabd0
tree12816bd16086ade26b3a44794353fa31f966f3d6
parentfb145456fa4f4311f90703aeee058bab3b274bf8
GenWQE: Improve hardware error recovery

Currently, in the event of a fatal hardware error, the driver tries a
recovery procedure that calls pci_reset_function() to reset the card.
This is not sufficient in some cases, needing a fundamental reset to
bring the card back.

This patch implements a call to the platform fundamental reset procedure
on the error recovery path if GENWQE_PLATFORM_ERROR_RECOVERY is enabled.
This is implemented by default only on PPC64, since this can cause
problems on other archs, e.g. zSeries, where the platform has its own
recovery procedures, leading to a potencial race conditition. For these
cases, the recovery is kept as it was before.

Signed-off-by: Kleber Sacilotto de Souza <klebers@linux.vnet.ibm.com>
Acked-by: Frank Haverkamp <haver@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/genwqe/card_base.c