Added post download state fwload initialization from linux-wlan tree.

This commit is contained in:
mark 2002-12-20 00:10:04 +00:00
parent fc667da9e9
commit 001e1a701a

View file

@ -2355,6 +2355,7 @@ int prism2mgmt_ramdl_write(wlandevice_t *wlandev, void *msgp)
----------------------------------------------------------------*/
int prism2mgmt_flashdl_state(wlandevice_t *wlandev, void *msgp)
{
int result = 0;
prism2sta_priv_t *priv = (prism2sta_priv_t*)wlandev->priv;
hfa384x_t *hw = priv->hw;
p80211msg_p2req_flashdl_state_t *msg = msgp;
@ -2386,11 +2387,22 @@ int prism2mgmt_flashdl_state(wlandevice_t *wlandev, void *msgp)
} else {
hfa384x_drvr_flashdl_disable(hw);
msg->resultcode.data = P80211ENUM_resultcode_success;
#if 0
/*TODO: Reset everything....the MAC just restarted */
udelay(1000);
prism2sta_initmac(wlandev);
#endif
/* NOTE: At this point, the MAC is in the post-reset
* state and the driver is in the fwload state.
* We need to get the MAC back into the fwload
* state. To do this, we set the nsdstate to HWPRESENT
* and then call the ifstate function to redo everything
* that got us into the fwload state.
*/
wlandev->msdstate = WLAN_MSD_HWPRESENT;
result = prism2sta_ifstate(wlandev, P80211ENUM_ifstate_fwload);
if (result != P80211ENUM_resultcode_success) {
WLAN_LOG_ERROR1("prism2sta_ifstate(fwload) failed,"
"P80211ENUM_resultcode=%d\n", result);
msg->resultcode.data =
P80211ENUM_resultcode_implementation_failure;
result = -1;
}
}
DBFEXIT;