From ddc40020b91cfe40fae968408910a887ccd1dd3a Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Fri, 22 Nov 2013 10:22:56 +0100 Subject: [PATCH] AT697 PCI: abort whhen a peripheral PCI system detected --- c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 76b9c4d943..6289a56b59 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 */