On Saturday 19 April 2008 05:49:24 [EMAIL PROTECTED] wrote: > The specifications call for the low 16 bits of the board flags to > be cleared if unset (== 0xFFFF). This step was taken in bcm43xx, > but was missed when ssb was coded. This omission prevents Linksys > WMP11 cards with a BCM4301 from working. > > Signed-off-by: Larry Finger <[EMAIL PROTECTED]> > --- > > John, > > This is 2.6.26 material. > > Larry > --- > > Index: linux-2.6/drivers/ssb/pci.c > =================================================================== > --- linux-2.6.orig/drivers/ssb/pci.c > +++ linux-2.6/drivers/ssb/pci.c > @@ -377,6 +377,8 @@ static void sprom_extract_r123(struct ss > SSB_SPROM1_ITSSI_A_SHIFT); > SPEX(itssi_bg, SSB_SPROM1_ITSSI, SSB_SPROM1_ITSSI_BG, 0); > SPEX(boardflags_lo, SSB_SPROM1_BFLLO, 0xFFFF, 0); > + if (out->boardflags_lo == 0xFFFF) > + out->boardflags_lo = 0x0000; /* per specs */
Please also do this for boardflags_hi. And I'd actually use 0 instead of 0x0000. But that doesn't really matter much :) > if (out->revision >= 2) > SPEX(boardflags_hi, SSB_SPROM2_BFLHI, 0xFFFF, 0); > > > -- Greetings Michael. _______________________________________________ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev