powerpc/eeh: Don't report error in eeh_pe_reset_and_recover()
authorGavin Shan <gwshan@linux.vnet.ibm.com>
Wed, 27 Apr 2016 01:14:50 +0000 (11:14 +1000)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 6 Jun 2016 23:12:18 +0000 (19:12 -0400)
commitb7ccd2a25cc0b57564f7d446b97c3ce7295f2919
tree504bd6da2cc705b8653f0b038364cc16f667be79
parent18fc656941a1e06de8bbcf642cc3c43757b890ae
powerpc/eeh: Don't report error in eeh_pe_reset_and_recover()

[ Upstream commit affeb0f2d3a9af419ad7ef4ac782e1540b2f7b28 ]

The function eeh_pe_reset_and_recover() is used to recover EEH
error when the passthrough device are transferred to guest and
backwards, meaning the device's driver is vfio-pci or none.
When the driver is vfio-pci that provides error_detected() error
handler only, the handler simply stops the guest and it's not
expected behaviour. On the other hand, no error handlers will
be called if we don't have a bound driver.

This ignores the error handler in eeh_pe_reset_and_recover()
that reports the error to device driver to avoid the exceptional
behaviour.

Fixes: 5cfb20b9 ("powerpc/eeh: Emulate EEH recovery for VFIO devices")
Cc: stable@vger.kernel.org #v3.18+
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Reviewed-by: Russell Currey <ruscur@russell.cc>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
arch/powerpc/kernel/eeh_driver.c