[EMAIL PROTECTED] wrote:
> 
> 
> 
> Ok, here's try #2.
> E
> /home/2.6.27/rc4-wl/drivers/net/wireless/b43legacy# diff -uN /tmp/phy.c 
> phy.c
> --- /tmp/phy.c    2008-09-05 21:56:20.000000000 -0700
> +++ phy.c    2008-09-05 22:03:28.000000000 -0700

For kernel patches, you need to be working in the base directory of 
the kernel sources. For your tree, that would be in 
/home/2.6.27/rc4-wl. That way the patches will apply with the 
effective command of 'patch -p1 < patch_file'. For kernel patches, I 
use quilt so that patches are easy to apply and remove.

> @@ -1010,7 +1010,7 @@
>         b43legacy_phy_initb5(dev);
>     else
>         b43legacy_phy_initb6(dev);
> -    if (phy->rev >= 2 || phy->gmode)
> +    if (phy->rev >= 2 && phy->gmode)
>         b43legacy_phy_inita(dev);
> 
>     if (phy->rev >= 2) {

The above hunk is correct.

> @@ -1027,15 +1027,17 @@
>     }
>     if (phy->rev >= 2 || phy->gmode) {

This does not match step 7 of the specs. It was not changed recently, 
but the code did not match what was on the web site. No, I don't know why.

>         tmp = b43legacy_phy_read(dev, 0x0400) & 0xFF;
> -        if (tmp == 3 || tmp == 5) {
> +        if (tmp == 4 || tmp == 5) {
>             b43legacy_phy_write(dev, 0x04C2, 0x1816);
> -            b43legacy_phy_write(dev, 0x04C3, 0x8006);
> +            b43legacy_phy_write(dev, 0x04C3, 0x8606);
>             if (tmp == 5)
>                 b43legacy_phy_write(dev, 0x04CC,
>                             (b43legacy_phy_read(dev,
>                              0x04CC) & 0x00FF) |
>                              0x1F00);
>         }
> +    }
> +    if (phy->rev >= 2)
>         b43legacy_phy_write(dev, 0x047E, 0x0078);
>     }
>     if (phy->radio_rev == 8) {

This hunk does not match the specs. In addition, I think there are too 
many right-hand curly braces for it to compile.

Larry

_______________________________________________
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to