diff --git a/core/sme/src/p2p/p2p_api.c b/core/sme/src/p2p/p2p_api.c index 710ec5d78474..3b998713d153 100644 --- a/core/sme/src/p2p/p2p_api.c +++ b/core/sme/src/p2p/p2p_api.c @@ -117,9 +117,12 @@ QDF_STATUS sme_remain_on_chn_rsp(tpAniSirGlobal pMac, uint8_t *pMsg) return status; callback = pCommand->u.remainChlCmd.callback; - if (callback) + if (callback && rsp) { + if (rsp->status != eSIR_SME_SUCCESS) + status = QDF_STATUS_E_FAILURE; callback(pMac, pCommand->u.remainChlCmd.callbackCtx, - rsp->status, rsp->scan_id); + status, rsp->scan_id); + } fFound = csr_scan_active_ll_remove_entry(pMac, pEntry, LL_ACCESS_LOCK);