mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 16:46:15 -04:00
qcacld-3.0: Log the rssi info from FW in sta kick out event
qcacld-2.0 to qcacld-3.0 propagation. Log the RSSI info of the disconnect if the STA disconnection is due to STA kick out event from FW. Change-Id: I0fad3f8d0e7990f4211b7840bed7605a4b97f3cb CRs-Fixed: 874197
This commit is contained in:
parent
04b1a36cf7
commit
24e4dc9eaa
8 changed files with 17 additions and 2 deletions
|
|
@ -1046,15 +1046,19 @@ static CDF_STATUS hdd_dis_connect_handler(hdd_adapter_t *pAdapter,
|
|||
* To avoid wpa_supplicant sending "HANGED" CMD
|
||||
* to ICS UI.
|
||||
*/
|
||||
if (eCSR_ROAM_LOSTLINK == roamStatus)
|
||||
if (eCSR_ROAM_LOSTLINK == roamStatus) {
|
||||
if (pRoamInfo->reasonCode ==
|
||||
eSIR_MAC_PEER_STA_REQ_LEAVING_BSS_REASON)
|
||||
pr_info("wlan: disconnected due to poor signal, rssi is %d dB\n", pRoamInfo->rxRssi);
|
||||
cfg80211_disconnected(dev, pRoamInfo->
|
||||
reasonCode, NULL,
|
||||
0, GFP_KERNEL);
|
||||
else
|
||||
} else {
|
||||
cfg80211_disconnected(dev,
|
||||
WLAN_REASON_UNSPECIFIED,
|
||||
NULL, 0,
|
||||
GFP_KERNEL);
|
||||
}
|
||||
|
||||
hdd_info("sent disconnected event to nl80211, rssi: %d",
|
||||
pAdapter->rssi);
|
||||
|
|
|
|||
|
|
@ -1398,6 +1398,7 @@ typedef struct sSirSmeDeauthInd {
|
|||
|
||||
uint16_t staId;
|
||||
uint32_t reasonCode;
|
||||
int8_t rssi;
|
||||
} tSirSmeDeauthInd, *tpSirSmeDeauthInd;
|
||||
|
||||
/* / Definition for stop BSS request message */
|
||||
|
|
|
|||
|
|
@ -240,6 +240,8 @@ typedef struct sDphHashNode {
|
|||
uint8_t is_disassoc_deauth_in_progress;
|
||||
|
||||
uint8_t nss;
|
||||
int8_t del_sta_ctx_rssi;
|
||||
|
||||
/*
|
||||
* When a station with already an existing dph entry tries to
|
||||
* associate again, the old dph entry will be zeroed out except
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@ static void lim_delete_sta_util(tpAniSirGlobal mac_ctx, tpDeleteStaContext msg,
|
|||
cdf_mem_free(msg);
|
||||
return;
|
||||
}
|
||||
stads->del_sta_ctx_rssi = msg->rssi;
|
||||
|
||||
/* check and see if same staId. This is to avoid the scenario
|
||||
* where we're trying to delete a staId we just added.
|
||||
|
|
|
|||
|
|
@ -1125,6 +1125,9 @@ lim_send_sme_deauth_ind(tpAniSirGlobal pMac, tpDphHashNode pStaDs,
|
|||
pSirSmeDeauthInd->reasonCode = pStaDs->mlmStaContext.disassocReason;
|
||||
|
||||
pSirSmeDeauthInd->staId = pStaDs->staIndex;
|
||||
if (eSIR_MAC_PEER_STA_REQ_LEAVING_BSS_REASON ==
|
||||
pStaDs->mlmStaContext.disassocReason)
|
||||
pSirSmeDeauthInd->rssi = pStaDs->del_sta_ctx_rssi;
|
||||
|
||||
mmhMsg.type = eWNI_SME_DEAUTH_IND;
|
||||
mmhMsg.bodyptr = pSirSmeDeauthInd;
|
||||
|
|
|
|||
|
|
@ -11336,6 +11336,7 @@ CDF_STATUS csr_roam_lost_link(tpAniSirGlobal pMac, uint32_t sessionId,
|
|||
sizeof(tSirMacAddr));
|
||||
roamInfo.staId = (uint8_t) pDeauthIndMsg->staId;
|
||||
roamInfo.reasonCode = pDeauthIndMsg->reasonCode;
|
||||
roamInfo.rxRssi = pDeauthIndMsg->rssi;
|
||||
}
|
||||
sms_log(pMac, LOGW, FL("roamInfo.staId (%d)"), roamInfo.staId);
|
||||
|
||||
|
|
|
|||
|
|
@ -592,6 +592,7 @@ typedef enum eSmpsModeValue {
|
|||
* @bssId: mac address
|
||||
* @addr2: mac address
|
||||
* @reasonCode: reason code
|
||||
* @rssi: rssi value during disconnection
|
||||
*/
|
||||
typedef struct {
|
||||
uint16_t assocId;
|
||||
|
|
@ -599,6 +600,7 @@ typedef struct {
|
|||
tSirMacAddr bssId;
|
||||
tSirMacAddr addr2;
|
||||
uint16_t reasonCode;
|
||||
int8_t rssi;
|
||||
} tDeleteStaContext, *tpDeleteStaContext;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -440,6 +440,7 @@ int wma_peer_sta_kickout_event_handler(void *handle, u8 *event, u32 len)
|
|||
cdf_mem_copy(del_sta_ctx->bssId, wma->interfaces[vdev_id].addr,
|
||||
IEEE80211_ADDR_LEN);
|
||||
del_sta_ctx->reasonCode = HAL_DEL_STA_REASON_CODE_KEEP_ALIVE;
|
||||
del_sta_ctx->rssi = kickout_event->rssi + WMA_TGT_NOISE_FLOOR_DBM;
|
||||
wma_send_msg(wma, SIR_LIM_DELETE_STA_CONTEXT_IND, (void *)del_sta_ctx,
|
||||
0);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue