From 071177ca6694182bf1baf92fc07b5abbe95fb179 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 16 Oct 2006 15:00:10 +0000
Subject: [PATCH] fix irq sharing issue on bcm4710

SVN-Revision: 5160
---
 target/linux/brcm-2.6/patches/001-bcm947xx.patch | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/target/linux/brcm-2.6/patches/001-bcm947xx.patch b/target/linux/brcm-2.6/patches/001-bcm947xx.patch
index 864f7747de..079360ec1d 100644
--- a/target/linux/brcm-2.6/patches/001-bcm947xx.patch
+++ b/target/linux/brcm-2.6/patches/001-bcm947xx.patch
@@ -1829,22 +1829,22 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbmips.c linux.dev/arch/mips/bcm
 +		BCMINIT(sb_setirq)(sbh, 0, SB_CODEC, 0);
 +		BCMINIT(sb_setirq)(sbh, 0, SB_EXTIF, 0);
 +		BCMINIT(sb_setirq)(sbh, 2, SB_ENET, 1);
-+		BCMINIT(sb_setirq)(sbh, 3, SB_ILINE20, 0);
++		// BCMINIT(sb_setirq)(sbh, 3, SB_ILINE20, 0); /* seems to be unused */
 +		BCMINIT(sb_setirq)(sbh, 4, SB_PCI, 0);
 +		ASSERT(eir);
 +		value = BCMINIT(early_nvram_get)("et0phyaddr");
 +		if (value && !strcmp(value, "31")) {
 +			/* Enable internal UART */
 +			W_REG(&eir->corecontrol, CC_UE);
-+			/* Give USB its own interrupt */
-+			BCMINIT(sb_setirq)(sbh, 1, SB_USB, 0);
 +		} else {
 +			/* Disable internal UART */
 +			W_REG(&eir->corecontrol, 0);
 +			/* Give Ethernet its own interrupt */
 +			BCMINIT(sb_setirq)(sbh, 1, SB_ENET, 0);
-+			BCMINIT(sb_setirq)(sbh, 0, SB_USB, 0);
 +		}
++		/* USB gets its own interrupt */
++		BCMINIT(sb_setirq)(sbh, 3, SB_USB, 0);
++		
 +		break;
 +	case BCM5350_DEVICE_ID:
 +		/* Clear interrupt map */
@@ -2512,6 +2512,7 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbmips.c linux.dev/arch/mips/bcm
 +}
 +
 +
+
 diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbpci.c linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c
 --- linux.old/arch/mips/bcm947xx/broadcom/sbpci.c	1970-01-01 01:00:00.000000000 +0100
 +++ linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c	2006-10-15 23:29:14.000000000 +0200
-- 
2.30.2