gavron@xxxxxxxxxxx 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
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html