[PATCH 052/111] AT697PCI: fix PCI cfg writes

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


---
 c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c |    4 ++--
 1 files changed, 2 insertions(+), 2 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 6289a56..423fada 100644
--- a/c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c
+++ b/c/src/lib/libbsp/sparc/leon2/pci/at697_pci.c
@@ -304,7 +304,7 @@ int at697pci_cfg_w32(pci_dev_t dev, int offset, uint32_t val)
 	int func = PCI_DEV_FUNC(dev);
 	int retval;
 
-	if (slot > 21 || (offset & ~0xfc))
+	if (slot > 15 || (offset & ~0xfc))
 		return PCISTS_EINVAL;
 
 	regs = at697pcipriv->regs;
@@ -313,7 +313,7 @@ int at697pci_cfg_w32(pci_dev_t dev, int offset, uint32_t val)
 
 	if ( bus == 0 ) {
 		/* PCI Access - TYPE 0 */
-		address = (1<<(11+slot)) | (func << 8) | offset;
+		address = (1<<(16+slot)) | (func << 8) | offset;
 	} else {
 		/* PCI access - TYPE 1 */
 		address = ((bus & 0xff) << 16) | ((slot & 0x1f) << 11) |
-- 
1.7.0.4




More information about the devel mailing list