Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit caa606db authored by Srikanth Marepalli's avatar Srikanth Marepalli Committed by nshrivas
Browse files

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
parent 56657042
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -239,6 +239,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 */

/**
+14 −0
Original line number Diff line number Diff line
@@ -3771,6 +3771,8 @@ static const u8 *wma_wow_wake_reason_str(A_INT32 wake_reason)
		return "DEBUG_TEST";
	case WOW_REASON_CHIP_POWER_FAILURE_DETECT:
		return "CHIP_POWER_FAILURE_DETECT";
	case WOW_REASON_ROAM_PMKID_REQUEST:
		return "ROAM_PMKID_REQUEST";
	default:
		return "unknown";
	}
@@ -4089,6 +4091,9 @@ static int wow_get_wmi_eventid(int32_t reason, uint32_t tag)
	case WOW_REASON_ROAM_HO:
		event_id = WMI_ROAM_EVENTID;
		break;
	case WOW_REASON_ROAM_PMKID_REQUEST:
		event_id = WMI_ROAM_PMKID_REQUEST_EVENTID;
		break;
	default:
		WMA_LOGD(FL("Unexpected WOW reason : %s(%d)"),
			 wma_wow_wake_reason_str(reason), reason);
@@ -4125,6 +4130,7 @@ static bool tlv_check_required(int32_t reason)
	case WOW_REASON_NAN_EVENT:
	case WOW_REASON_NAN_DATA:
	case WOW_REASON_ROAM_HO:
	case WOW_REASON_ROAM_PMKID_REQUEST:
		return true;
	default:
		return false;
@@ -5052,6 +5058,14 @@ int wma_wow_wakeup_host_event(void *handle, uint8_t *event,
		wma_send_msg(wma, SIR_LIM_DELETE_STA_CONTEXT_IND,
			     (void *)del_sta_ctx, 0);
		break;
	case WOW_REASON_ROAM_PMKID_REQUEST:
		WMA_LOGD("Host woken up because of PMKID request event");
		if (param_buf->wow_packet_buffer)
			wma_roam_pmkid_request_event_handler(handle,
				wmi_cmd_struct_ptr, wow_buf_pkt_len);
		else
			WMA_LOGD("No wow_packet_buffer present");
		break;
	default:
		break;
	}
+3 −0
Original line number Diff line number Diff line
@@ -6419,6 +6419,9 @@ void wma_set_sta_wow_bitmask(uint32_t *bitmask, uint32_t wow_bitmap_size)
	wma_set_wow_event_bitmap(WOW_TDLS_CONN_TRACKER_EVENT,
			     WMI_WOW_MAX_EVENT_BM_LEN,
			     bitmask);
	wma_set_wow_event_bitmap(WOW_ROAM_PMKID_REQUEST_EVENT,
				 WMI_WOW_MAX_EVENT_BM_LEN,
				 bitmask);
	/* Add further STA wakeup events above this line. */
}