Message ID | 1433307179-17020-1-git-send-email-david@gibson.dropbear.id.au (mailing list archive) |
---|---|
State | Accepted |
Commit | 502f159c0239863deebfc50e09c0892d0c157101 |
Delegated to: | Michael Ellerman |
Headers | show |
David Gibson <david@gibson.dropbear.id.au> wrote on 03/06/2015 14:52:59: > From: David Gibson <david@gibson.dropbear.id.au> > To: Guo Wen Shan/Australia/IBM@IBMAU, mpe@ellerman.id.au > Cc: benh@kernel.crashing.org, paulus@samba.org, linuxppc- > dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, David Gibson > <david@gibson.dropbear.id.au> > Date: 03/06/2015 14:53 > Subject: [PATCH] powerpc/eeh: Fix trivial error in eeh_restore_dev_state () > > Commit 28158cd "powerpc/eeh: Enhance pcibios_set_pcie_reset_state()" > introduced a fix for a problem where certain configurations could lead to > pci_reset_function() destroying the state of PCI devices other than the one > specified. > > Unfortunately, the fix has a trivial bug - it calls pci_save_state() again, > when it should be calling pci_restore_state(). This corrects the problem. > > Cc: Gavin Shan <gwshan@au1.ibm.com> > Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Thanks, Gavin > --- > arch/powerpc/kernel/eeh.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c > index 9ee61d1..ece4181 100644 > --- a/arch/powerpc/kernel/eeh.c > +++ b/arch/powerpc/kernel/eeh.c > @@ -719,7 +719,7 @@ static void *eeh_restore_dev_state(void *data, > void *userdata) > > /* The caller should restore state for the specified device */ > if (pdev != dev) > - pci_save_state(pdev); > + pci_restore_state(pdev); > > return NULL; > } > -- > 2.4.2 >
diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c index 9ee61d1..ece4181 100644 --- a/arch/powerpc/kernel/eeh.c +++ b/arch/powerpc/kernel/eeh.c @@ -719,7 +719,7 @@ static void *eeh_restore_dev_state(void *data, void *userdata) /* The caller should restore state for the specified device */ if (pdev != dev) - pci_save_state(pdev); + pci_restore_state(pdev); return NULL; }
Commit 28158cd "powerpc/eeh: Enhance pcibios_set_pcie_reset_state()" introduced a fix for a problem where certain configurations could lead to pci_reset_function() destroying the state of PCI devices other than the one specified. Unfortunately, the fix has a trivial bug - it calls pci_save_state() again, when it should be calling pci_restore_state(). This corrects the problem. Cc: Gavin Shan <gwshan@au1.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> --- arch/powerpc/kernel/eeh.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)