2008-05-19 16:08:23 +08:00
|
|
|
Index: linux-2.6.23.17/drivers/net/b44.c
|
2008-03-23 12:27:04 +08:00
|
|
|
===================================================================
|
2008-05-19 16:08:23 +08:00
|
|
|
--- linux-2.6.23.17.orig/drivers/net/b44.c
|
|
|
|
+++ linux-2.6.23.17/drivers/net/b44.c
|
|
|
|
@@ -2273,6 +2273,10 @@ static int __devinit b44_get_invariants(
|
2008-03-23 12:27:04 +08:00
|
|
|
bp->phy_addr = sdev->bus->sprom.et1phyaddr;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
+ /* Some ROMs have buggy PHY addresses with the high
|
|
|
|
+ * bits set (sign extension?). Truncate them to a
|
|
|
|
+ * valid PHY address. */
|
|
|
|
+ bp->phy_addr &= 0x1F;
|
|
|
|
|
|
|
|
memcpy(bp->dev->dev_addr, addr, 6);
|
|
|
|
|