++#ifdef CONFIG_BCM947XX
++ if (bp->pdev->device == PCI_DEVICE_ID_BCM4713) {
++ /*
++ * workaround for bad hardware design in Linksys WAP54G v1.0
++ * see https://dev.openwrt.org/ticket/146
++ * check and reset bit "isolate"
++ */
++ if (!strcmp(nvram_get("boardnum"), "2\r")) {
++ u32 val;
++ if (__b44_readphy(bp, 0, MII_BMCR, &val) != 0) {
++ printk(KERN_WARNING PFX "%s: PHY WAP54G: cannot access PHY.\n",
++ bp->dev->name);
++ } else if (val & BMCR_ISOLATE) {
++ printk(KERN_INFO PFX "%s: PHY WAP54G: resetting isolate bit.\n",
++ bp->dev->name);
++ if (__b44_writephy(bp, 0, MII_BMCR, val & ~BMCR_ISOLATE) != 0)
++ printk(KERN_WARNING PFX "PHY WAP54G: cannot reset isolate bit.\n");
++ }
++ }
++ }
++#endif
++