From: mbm <mbm@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 8 May 2005 22:01:18 +0000 (+0000)
Subject: pci fixup
X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/a2fba5fe5ccf074195022d7446c086e51b4f7fda

pci fixup


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@815 3c298f89-4303-0410-b956-a3cf2f4a3e73
---

diff --git a/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/sbpci.c b/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/sbpci.c
index ead31e9aa..284151935 100644
--- a/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/sbpci.c
+++ b/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/sbpci.c
@@ -245,7 +245,6 @@ sbpci_ban(uint16 core)
 	if (pci_banned < ARRAYSIZE(pci_ban))
 		pci_ban[pci_banned++] = core;
 }
-//#define CT4712_WR         1   /* Workaround for 4712 */
 
 int __init
 sbpci_init(void *sbh)
@@ -257,7 +256,6 @@ sbpci_init(void *sbh)
 	pci_config_regs *cfg;
 	void *regs;
 	char varname[8];
-	int CT4712_WR;
 	uint wlidx = 0;
 	uint16 vendor, core;
 	uint8 class, subclass, progif;
@@ -274,12 +272,6 @@ sbpci_init(void *sbh)
 		return -1;
 	sb_core_reset(sbh, 0);
 
-	/* In some board, */ 
-	if(nvram_match("boardtype", "bcm94710dev") || nvram_match("boardtype", "bcm94710ap")|| nvram_match("boardtype", "bcm94710r4")|| nvram_match("boardtype", "bcm94710r4")|| nvram_match("boardtype", "bcm95365r"))
-		CT4712_WR = 0;
-	else
-		CT4712_WR = 1;
-
 	boardflags = (uint32) getintvar(NULL, "boardflags");
 
 	if ((chip == BCM4310_DEVICE_ID) && (chiprev == 0))
@@ -291,7 +283,7 @@ sbpci_init(void *sbh)
 	 * floating.
 	 */
 	if (((chip == BCM4712_DEVICE_ID) && (chippkg == BCM4712SMALL_PKG_ID)) ||
-	    (boardflags & BFL_NOPCI) || CT4712_WR)
+	    (boardflags & BFL_NOPCI))
 		pci_disabled = TRUE;
 
 	/*
diff --git a/openwrt/package/linux/kernel-source/drivers/net/hnd/sbutils.c b/openwrt/package/linux/kernel-source/drivers/net/hnd/sbutils.c
index 2c9cb55c7..1b221e0b3 100644
--- a/openwrt/package/linux/kernel-source/drivers/net/hnd/sbutils.c
+++ b/openwrt/package/linux/kernel-source/drivers/net/hnd/sbutils.c
@@ -234,7 +234,7 @@ sb_kattach()
 
 		regs = (uint32 *)REG_MAP(SB_ENUM_BASE, SB_CORE_SIZE);
 		cid = R_REG((uint32 *)regs);
-		if (((cid & CID_ID_MASK) == 0x4712) &&
+		if (((cid & (CID_ID_MASK | CID_PKG_MASK)) == 0x00104712) &&
 		    ((cid & CID_REV_MASK) <= 0x00020000)) {
 			uint32 *scc, val;