b43legacy: fix bcm4303 crash
authorStefano Brivio <stefano.brivio@polimi.it>
Sun, 6 Apr 2008 15:05:07 +0000 (17:05 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 8 Apr 2008 02:19:29 +0000 (22:19 -0400)
This fixes an hard crash which happened upon driver loading on bcm4303 rev.
2 devices.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/ssb/main.c

index bedb2b4ee9d27a8b47cc3b30e732d6b3da58c058..72017bf2e577c0e20bb87c16021d0e4ed0122b9a 100644 (file)
@@ -1044,6 +1044,12 @@ int ssb_bus_may_powerdown(struct ssb_bus *bus)
                goto out;
 
        cc = &bus->chipco;
+
+       if (!cc->dev)
+               goto out;
+       if (cc->dev->id.revision < 5)
+               goto out;
+
        ssb_chipco_set_clockmode(cc, SSB_CLKMODE_SLOW);
        err = ssb_pci_xtal(bus, SSB_GPIO_XTAL | SSB_GPIO_PLL, 0);
        if (err)