b43: Enable PCI slow clock workaround, if needed.
authorMichael Buesch <mb@bu3sch.de>
Fri, 20 Feb 2009 13:58:59 +0000 (14:58 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 27 Feb 2009 19:52:50 +0000 (14:52 -0500)
Enable the PCI slow clock workaround, if we're running a PCI core rev <= 10.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/main.c

index 3ad3a6c447c00c8c97348677dc681d7d929b9343..ef514827a8d5c700fb5f437c759f9c84cd7c4603 100644 (file)
@@ -4179,6 +4179,9 @@ static int b43_wireless_core_init(struct b43_wldev *dev)
        }
        if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW)
                hf |= B43_HF_DSCRQ; /* Disable slowclock requests from ucode. */
+       if ((bus->bustype == SSB_BUSTYPE_PCI) &&
+           (bus->pcicore.dev->id.revision <= 10))
+               hf |= B43_HF_PCISCW; /* PCI slow clock workaround. */
        b43_hf_write(dev, hf);
 
        b43_set_retry_limits(dev, B43_DEFAULT_SHORT_RETRY_LIMIT,