+ b44-ssb-fix-irq-routing-bits-on-the-backplane.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     b44-ssb: fix IRQ routing bits on the backplane
has been added to the -mm tree.  Its filename is
     b44-ssb-fix-irq-routing-bits-on-the-backplane.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: b44-ssb: fix IRQ routing bits on the backplane
From: Michael Buesch <mb@xxxxxxxxx>

The backplane on the b44 chip seems to have a silicon bug in the IRQ
routing.  The ethernet core IRQ routing does not work with the routing bit
returned from the backplaneflag register.  This patch adds a workaround for
the b44 chip to use a hardcoded constant.  This constant was also used in
the old b44 driver.

Signed-off-by: Michael Buesch <mb@xxxxxxxxx>
Tested-by: Maximilian Engelhardt <maxi@xxxxxxxxxxxxx>
Cc: Gary Zambrano <zambrano@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 drivers/ssb/driver_pcicore.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff -puN drivers/ssb/driver_pcicore.c~b44-ssb-fix-irq-routing-bits-on-the-backplane drivers/ssb/driver_pcicore.c
--- a/drivers/ssb/driver_pcicore.c~b44-ssb-fix-irq-routing-bits-on-the-backplane
+++ a/drivers/ssb/driver_pcicore.c
@@ -496,9 +496,15 @@ int ssb_pcicore_dev_irqvecs_enable(struc
 		u32 intvec;
 
 		intvec = ssb_read32(pdev, SSB_INTVEC);
-		tmp = ssb_read32(dev, SSB_TPSFLAG);
-		tmp &= SSB_TPSFLAG_BPFLAG;
-		intvec |= tmp;
+		if ((bus->chip_id & 0xFF00) == 0x4400) {
+			/* Workaround: On the BCM44XX the BPFLAG routing
+			 * bit is wrong. Use a hardcoded constant. */
+			intvec |= 0x00000002;
+		} else {
+			tmp = ssb_read32(dev, SSB_TPSFLAG);
+			tmp &= SSB_TPSFLAG_BPFLAG;
+			intvec |= tmp;
+		}
 		ssb_write32(pdev, SSB_INTVEC, intvec);
 	}
 
_

Patches currently in -mm which might be from mb@xxxxxxxxx are

b44-ssb-fix-irq-routing-bits-on-the-backplane.patch
o_cloexec-for-scm_rights.patch
o_cloexec-for-scm_rights-fix.patch
o_cloexec-for-scm_rights-fix-2.patch
intel-rng-undo-mess-made-by-an-80-column-extremist.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux