[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