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

Reply via email to