Message ID | 1484781016-13379-1-git-send-email-gwshan@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Wed, 2017-01-18 at 23:10:16 UTC, Gavin Shan wrote: > In __eeh_clear_pe_frozen_state(), we should pass the flag's value > instead of its address to eeh_unfreeze_pe(). The isolated flag is > cleared if no error returned from __eeh_clear_pe_frozen_state(). > We never observed the error from the function. So the isolated flag > should have been always cleared, no real issue is caused because > of the misused @flag. > > This fixes the code by passing the value of @flag to eeh_unfreeze_pe(). > > Cc: stable@vger.kernel.org #3.18+ > Fixes: 5cfb20b96f6 ("powerpc/eeh: Emulate EEH recovery for VFIO devices") > Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Applied to powerpc fixes, thanks. https://git.kernel.org/powerpc/c/f05fea5b3574a5926c53865eea2713 cheers
diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c index d88573b..b948871 100644 --- a/arch/powerpc/kernel/eeh_driver.c +++ b/arch/powerpc/kernel/eeh_driver.c @@ -545,7 +545,7 @@ static void *eeh_pe_detach_dev(void *data, void *userdata) static void *__eeh_clear_pe_frozen_state(void *data, void *flag) { struct eeh_pe *pe = (struct eeh_pe *)data; - bool *clear_sw_state = flag; + bool clear_sw_state = *(bool *)flag; int i, rc = 1; for (i = 0; rc && i < 3; i++)
In __eeh_clear_pe_frozen_state(), we should pass the flag's value instead of its address to eeh_unfreeze_pe(). The isolated flag is cleared if no error returned from __eeh_clear_pe_frozen_state(). We never observed the error from the function. So the isolated flag should have been always cleared, no real issue is caused because of the misused @flag. This fixes the code by passing the value of @flag to eeh_unfreeze_pe(). Cc: stable@vger.kernel.org #3.18+ Fixes: 5cfb20b96f6 ("powerpc/eeh: Emulate EEH recovery for VFIO devices") Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> --- v2: Improved changelog and dereference @flag for once --- arch/powerpc/kernel/eeh_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)