[PATCH 051/111] AT697 PCI: abort whhen a peripheral PCI system detected

Daniel Hellstrom daniel at gaisler.com
Thu Feb 26 16:38:53 UTC 2015


---
 c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c b/c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c
index 76b9c4d..6289a56 100644
--- a/c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c
+++ b/c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c
@@ -440,6 +440,13 @@ int at697pci_hw_init(struct at697pci_priv *priv)
 		return -1;
 	}
 
+	/* If not in system slot we are not host and we must abort.
+	 * This is a host only driver.
+	 */
+	if ((regs->pciis & 0x1000) != 0) {
+		return -1;
+	}
+
 	/* Reset PCI Core */
 	regs->pciic = 0xffffffff;
 
@@ -578,7 +585,7 @@ int at697pci_init1(struct drvmgr_dev *dev)
 
 	if (at697pci_init(priv)) {
 		DBG("Failed to initialize at697pci driver\n");
-		return DRVMGR_FAIL;
+		return DRVMGR_EIO;
 	}
 
 	/* Host is always Big-Endian */
-- 
1.7.0.4



More information about the devel mailing list