Skip to contentSkip to conversation

Patch "powerpc/eeh: Don't report error in eeh_pe_reset_and_recover()" has been added to the 4.6-stable tree

PATCH [email protected] 1 participant 1 message Jun 4, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

powerpc/eeh: Don't report error in eeh_pe_reset_and_recover()

to the 4.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
powerpc-eeh-don-t-report-error-in-eeh_pe_reset_and_recover.patch
and it can be found in the queue-4.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From affeb0f2d3a9af419ad7ef4ac782e1540b2f7b28 Mon Sep 17 00:00:00 2001

From: Gavin Shan <[email protected]>
Date: Wed, 27 Apr 2016 11:14:50 +1000
Subject: powerpc/eeh: Don't report error in eeh_pe_reset_and_recover()

From: Gavin Shan <[email protected]>

commit affeb0f2d3a9af419ad7ef4ac782e1540b2f7b28 upstream.

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")
---
 arch/powerpc/kernel/eeh_driver.c |    3 ---
 1 file changed, 3 deletions(-)
arch/powerpc/kernel/eeh_driver.c +0 -3
@@ -564,9 +564,6 @@ int eeh_pe_reset_and_recover(struct eeh_
 	/* Save states */
 	eeh_pe_dev_traverse(pe, eeh_dev_save_state, NULL);
 
-	/* Report error */
-	eeh_pe_dev_traverse(pe, eeh_report_error, &result);
-
 	/* Issue reset */
 	ret = eeh_reset_pe(pe);
 	if (ret) {

Patches currently in stable-queue which might be from [email protected] are

queue-4.6/powerpc-eeh-restore-initial-state-in-eeh_pe_reset_and_recover.patch queue-4.6/revert-powerpc-eeh-fix-crash-in-eeh_add_device_early-on-cell.patch queue-4.6/powerpc-eeh-don-t-report-error-in-eeh_pe_reset_and_recover.patch