qcacld-3.0: Make WMI_ROAM_PMKID_REQUEST_EVENTID event as wakable
Add support to make event WMI_ROAM_PMKID_REQUEST_EVENTID as wakable in FIPS case. In FIPS Enabled case, for roaming Firmware sends PMKID request to host as firmware is not supposed to do crypto functionality with FIPS enabled. Change-Id: I09b6b68f77ba75f9e5519ff18017c95d16771f52 CRs-Fixed: 2513790
This commit is contained in:

gecommit door
nshrivas

bovenliggende
4eaa5d66ba
commit
72213318bd
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -432,6 +432,9 @@ void pmo_set_sta_wow_bitmask(uint32_t *bitmask, uint32_t wow_bitmap_size)
|
||||
pmo_set_wow_event_bitmap(WOW_ROAM_PREAUTH_START_EVENT,
|
||||
wow_bitmap_size,
|
||||
bitmask);
|
||||
pmo_set_wow_event_bitmap(WOW_ROAM_PMKID_REQUEST_EVENT,
|
||||
wow_bitmap_size,
|
||||
bitmask);
|
||||
}
|
||||
|
||||
void pmo_set_sap_wow_bitmask(uint32_t *bitmask, uint32_t wow_bitmap_size)
|
||||
|
@@ -212,6 +212,14 @@ static inline void
|
||||
wma_register_pmkid_req_event_handler(tp_wma_handle wma_handle)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int
|
||||
wma_roam_pmkid_request_event_handler(void *handle,
|
||||
uint8_t *event,
|
||||
uint32_t len)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* WLAN_FEATURE_FIPS */
|
||||
|
||||
/**
|
||||
@@ -283,6 +291,14 @@ wma_roam_stats_event_handler(WMA_HANDLE handle, uint8_t *event,
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
wma_roam_pmkid_request_event_handler(void *handle,
|
||||
uint8_t *event,
|
||||
uint32_t len)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@@ -1515,6 +1515,8 @@ static const uint8_t *wma_wow_wake_reason_str(A_INT32 wake_reason)
|
||||
#endif /* WLAN_FEATURE_MOTION_DETECTION */
|
||||
case WOW_REASON_PAGE_FAULT:
|
||||
return "PAGE_FAULT";
|
||||
case WOW_REASON_ROAM_PMKID_REQUEST:
|
||||
return "ROAM_PMKID_REQUEST";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
@@ -1737,6 +1739,9 @@ static int wow_get_wmi_eventid(int32_t reason, uint32_t tag)
|
||||
case WOW_ROAM_PREAUTH_START_EVENT:
|
||||
event_id = WMI_ROAM_PREAUTH_STATUS_CMDID;
|
||||
break;
|
||||
case WOW_REASON_ROAM_PMKID_REQUEST:
|
||||
event_id = WMI_ROAM_PMKID_REQUEST_EVENTID;
|
||||
break;
|
||||
default:
|
||||
WMA_LOGD(FL("No Event Id for WOW reason %s(%d)"),
|
||||
wma_wow_wake_reason_str(reason), reason);
|
||||
@@ -1775,6 +1780,7 @@ static bool is_piggybacked_event(int32_t reason)
|
||||
case WOW_REASON_NAN_DATA:
|
||||
case WOW_REASON_TDLS_CONN_TRACKER_EVENT:
|
||||
case WOW_REASON_ROAM_HO:
|
||||
case WOW_REASON_ROAM_PMKID_REQUEST:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@@ -2632,7 +2638,11 @@ static int wma_wake_event_piggybacked(
|
||||
wma_send_msg(wma, SIR_LIM_DELETE_STA_CONTEXT_IND, del_sta_ctx,
|
||||
0);
|
||||
break;
|
||||
|
||||
case WOW_REASON_ROAM_PMKID_REQUEST:
|
||||
WMA_LOGD("Host woken up because of PMKID request event");
|
||||
errno = wma_roam_pmkid_request_event_handler(wma, pb_event,
|
||||
pb_event_len);
|
||||
break;
|
||||
default:
|
||||
WMA_LOGE("Wake reason %s(%u) is not a piggybacked event",
|
||||
wma_wow_wake_reason_str(wake_reason), wake_reason);
|
||||
|
Verwijs in nieuw issue
Block a user