/*---------------------------------------------------------------------------- @brief Function to resume the wlan driver. This function will get called by platform driver Resume on System Resume @param dev platform_func_device @return None ----------------------------------------------------------------------------*/ int hddDevResumeHdlr(struct device *dev) { hdd_context_t* pHddCtx = NULL; pHddCtx = (hdd_context_t*)wcnss_wlan_get_drvdata(dev); VOS_TRACE(VOS_MODULE_ID_HDD,VOS_TRACE_LEVEL_INFO, "%s: WLAN being resumed by Android OS",__func__); if(pHddCtx->isWlanSuspended != TRUE) { VOS_TRACE(VOS_MODULE_ID_HDD,VOS_TRACE_LEVEL_FATAL,"%s: WLAN is already in resumed state",__func__); return 0; } /* Resume the wlan driver */ wlan_resume(pHddCtx); #ifdef HAVE_WCNSS_SUSPEND_RESUME_NOTIFY if(suspend_notify_sent == true) { wcnss_resume_notify(); suspend_notify_sent = false; } #endif return 0; }
static int wcnss_wlan_resume(struct device *dev) { int ret = 0; if (penv && dev && (dev == &penv->pdev->dev) && penv->smd_channel_ready && penv->pm_ops && penv->pm_ops->resume) { ret = penv->pm_ops->resume(dev); if (ret == 0 && enable_wcnss_suspend_notify) wcnss_resume_notify(); return ret; } return 0; }