b43legacy: fix hard crash when BCM4303 present.
    
Upon driver load when a BCM4304 rev 2 card is present, the kernel undergoes
a hard crash with power off the only recovery. This crash is due to a missing
check for NULL pointers, which only occur for a limited set os devices.

The fix in mainline kernels was submitted as   
commit 881400a20c3551e90eed1062cf0387fa686a2fd0 by Stefano Brivio
<stefano.brivio@polimi.it>.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---

Index: ubuntu-hardy/drivers/ssb/main.c
===================================================================
--- ubuntu-hardy.orig/drivers/ssb/main.c	2008-05-08 18:59:45.000000000 -0500
+++ ubuntu-hardy/drivers/ssb/main.c	2008-05-09 00:09:13.000000000 -0500
@@ -1032,6 +1032,12 @@
 		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)
