Thread (11 messages) flat view 11 messages, 3 authors, 2014-09-17

Re: [PATCH] powerpc/eeh: Fix kernel crash when passing through VF

From: Wei Yang <hidden>
Date: 2014-09-16 06:02:29

On Tue, Sep 16, 2014 at 02:03:56PM +1000, Michael Ellerman wrote:
On Mon, 2014-09-15 at 16:08 +0800, Wei Yang wrote:
quoted
This patch introduces a marco to convert eeh_dev to eeh_pe. By doing so, it
will prevent converting with NULL pointer.

Signed-off-by: Wei Yang <redacted>
Acked-by: Gavin Shan <redacted>

V2 -> V3:
   1. rebased on 3.17-rc4
   2. introduce a marco
   3. use this marco in several other places
Macro :)
:-)
quoted
diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c
index 59a64f8..0f1b637 100644
--- a/arch/powerpc/kernel/eeh.c
+++ b/arch/powerpc/kernel/eeh.c
@@ -410,7 +410,7 @@ int eeh_dev_check_failure(struct eeh_dev *edev)
 	}
 	dn = eeh_dev_to_of_node(edev);
 	dev = eeh_dev_to_pci_dev(edev);
-	pe = edev->pe;
+	pe = eeh_dev_to_pe(edev);
This looks good, but ..
quoted
diff --git a/include/linux/pci.h b/include/linux/pci.h
index fd03e819..9656f92 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1824,6 +1824,11 @@ static inline struct eeh_dev *pci_dev_to_eeh_dev(struct pci_dev *pdev)
 {
 	return pdev->dev.archdata.edev;
 }
+
+static inline struct eeh_pe *eeh_dev_to_pe(struct eeh_dev* edev)
+{
+	return edev ? edev->pe : NULL;
+}
 #endif
Why is it in linux/pci.h ? It's powerpc specific, it should be in arch/powerpc/include/asm/pci.h
Good question, let me move to powerpc directory and have a try.
cheers
-- 
Richard Yang
Help you, Help me
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help