/** * @brief This function cleans module * * @return n/a */ static void wlan_cleanup_module(void) { wlan_private *priv = wlanpriv; wlan_adapter *Adapter = NULL; ENTER(); if (OS_ACQ_SEMAPHORE_BLOCK(&AddRemoveCardSem)) goto exit_sem_err; if (!priv || !priv->adapter) goto exit; Adapter = priv->adapter; /* Exit deep sleep */ wlan_exit_deep_sleep_timeout(priv); if (Adapter->MediaConnectStatus == WlanMediaStateConnected) wlan_disconnect(priv); wlan_prepare_cmd(priv, HostCmd_CMD_FUNC_SHUTDOWN, 0, HostCmd_OPTION_WAITFORRSP | HostCmd_OPTION_TIMEOUT, 0, NULL); /* Disable interrupts on the card */ sbi_disable_host_int(priv); exit: OS_REL_SEMAPHORE(&AddRemoveCardSem); exit_sem_err: sbi_unregister(); LEAVE(); }
/** * @brief This function cleans module * * @param priv n/a * @return n/a */ void wlan_cleanup_module(void) { ENTER(); sbi_unregister(); LEAVE(); }