qcacmn: Set WMI_PMK_CACHE_OP_FLAG_FLUSH_ALL only for pmksa_flush

The supplicant sends del_pmksa command to delete the pmk,pmkid
for a particular bssid. In this command pmk_len will be 0.
In send_set_del_pmkid_cache_cmd_tlv() the host driver currently
checks the pmk_len to set WMI_PMK_CACHE_OP_FLAG_FLUSH_ALL.
If pmk_len is 0 WMI_PMK_CACHE_OP_FLAG_FLUSH_ALL is set, which
is not correct. pmk_len will be zero in both the flush and delete
cases.

So add a new flag is_flush_all which will be set to true when the
supplicant sends pmksa flush command.
At WMI based on this flag set the flush flag to the wmi cmd.

Change-Id: I7626c500721a4b8cccbb21a08d4235c041456d1b
CRs-Fixed: 2502478
这个提交包含在:
Pragaspathi Thilagaraj
2019-08-04 23:59:48 +05:30
提交者 nshrivas
父节点 43168e82c6
当前提交 63eb9e48dd
修改 2 个文件,包含 7 行新增3 行删除

查看文件

@@ -204,6 +204,8 @@ struct sar_limit_event {
* @cache_id: PMK Cache ID
* @cat_flag: whether (bssid) or (ssid,cache_id) is valid
* @action_flag: add/delete the entry
* @is_flush_all: FLAG to indicate PMKSA flush. True if PMKSA cache flush is
* needed.
*/
struct wmi_unified_pmk_cache {
uint8_t vdev_id;
@@ -216,6 +218,7 @@ struct wmi_unified_pmk_cache {
uint32_t cache_id;
uint32_t cat_flag;
uint32_t action_flag;
bool is_flush_all;
};
#define WMI_QOS_NUM_AC_MAX 4