]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.4.13/powerpc-eeh-don-t-report-error-in-eeh_pe_reset_and_recover.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 4.4.13 / powerpc-eeh-don-t-report-error-in-eeh_pe_reset_and_recover.patch
1 From affeb0f2d3a9af419ad7ef4ac782e1540b2f7b28 Mon Sep 17 00:00:00 2001
2 From: Gavin Shan <gwshan@linux.vnet.ibm.com>
3 Date: Wed, 27 Apr 2016 11:14:50 +1000
4 Subject: powerpc/eeh: Don't report error in eeh_pe_reset_and_recover()
5
6 From: Gavin Shan <gwshan@linux.vnet.ibm.com>
7
8 commit affeb0f2d3a9af419ad7ef4ac782e1540b2f7b28 upstream.
9
10 The function eeh_pe_reset_and_recover() is used to recover EEH
11 error when the passthrough device are transferred to guest and
12 backwards, meaning the device's driver is vfio-pci or none.
13 When the driver is vfio-pci that provides error_detected() error
14 handler only, the handler simply stops the guest and it's not
15 expected behaviour. On the other hand, no error handlers will
16 be called if we don't have a bound driver.
17
18 This ignores the error handler in eeh_pe_reset_and_recover()
19 that reports the error to device driver to avoid the exceptional
20 behaviour.
21
22 Fixes: 5cfb20b9 ("powerpc/eeh: Emulate EEH recovery for VFIO devices")
23 Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
24 Reviewed-by: Russell Currey <ruscur@russell.cc>
25 Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
26 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
27
28 ---
29 arch/powerpc/kernel/eeh_driver.c | 3 ---
30 1 file changed, 3 deletions(-)
31
32 --- a/arch/powerpc/kernel/eeh_driver.c
33 +++ b/arch/powerpc/kernel/eeh_driver.c
34 @@ -504,9 +504,6 @@ int eeh_pe_reset_and_recover(struct eeh_
35 /* Save states */
36 eeh_pe_dev_traverse(pe, eeh_dev_save_state, NULL);
37
38 - /* Report error */
39 - eeh_pe_dev_traverse(pe, eeh_report_error, &result);
40 -
41 /* Issue reset */
42 ret = eeh_reset_pe(pe);
43 if (ret) {