-+ 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");
-+ }
-+ }
++ char *s;
++ if ((s = nvram_get("boardnum")) && (s != NULL) && \
++ !strncmp(s, "2", 1) && \
++ (__b44_readphy(bp, 0, MII_BMCR, &val) != 0) && \
++ (val & BMCR_ISOLATE) && \
++ (__b44_writephy(bp, 0, MII_BMCR, val & ~BMCR_ISOLATE) != 0)) {
++ printk(KERN_WARNING PFX "PHY: cannot reset MII transceiver isolate bit.\n");