|
@@ -962,10 +962,6 @@ static int wl12xx_chip_wakeup(struct wl1271 *wl, bool plt)
|
|
|
if (wl1271_set_block_size(wl))
|
|
|
wl->quirks |= WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN;
|
|
|
|
|
|
- ret = wl->ops->identify_chip(wl);
|
|
|
- if (ret < 0)
|
|
|
- goto out;
|
|
|
-
|
|
|
/* TODO: make sure the lower driver has set things up correctly */
|
|
|
|
|
|
ret = wl1271_setup(wl);
|
|
@@ -4872,12 +4868,6 @@ static int wl1271_register_hw(struct wl1271 *wl)
|
|
|
if (wl->mac80211_registered)
|
|
|
return 0;
|
|
|
|
|
|
- ret = wl12xx_get_hw_info(wl);
|
|
|
- if (ret < 0) {
|
|
|
- wl1271_error("couldn't get hw info");
|
|
|
- goto out;
|
|
|
- }
|
|
|
-
|
|
|
ret = wl1271_fetch_nvs(wl);
|
|
|
if (ret == 0) {
|
|
|
/* NOTE: The wl->nvs->nvs element must be first, in
|
|
@@ -5282,6 +5272,16 @@ int __devinit wlcore_probe(struct wl1271 *wl, struct platform_device *pdev)
|
|
|
}
|
|
|
disable_irq(wl->irq);
|
|
|
|
|
|
+ ret = wl12xx_get_hw_info(wl);
|
|
|
+ if (ret < 0) {
|
|
|
+ wl1271_error("couldn't get hw info");
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
+
|
|
|
+ ret = wl->ops->identify_chip(wl);
|
|
|
+ if (ret < 0)
|
|
|
+ goto out;
|
|
|
+
|
|
|
ret = wl1271_init_ieee80211(wl);
|
|
|
if (ret)
|
|
|
goto out_irq;
|