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

Commit b229fe5b authored by Paul Zhang's avatar Paul Zhang Committed by Gerrit - the friendly Code Review server
Browse files

qcacmn: Fix kw issue in target_if_reg.c

Pointer wmi_handle is returned from a function may
be NULL and will be dereferenced in another function.
Add sanity checking to return if the pointer is NULL.

Change-Id: I2a38098335dde8d76a04129c06166203aefdd2ec
CRs-Fixed: 2317021
parent af64d7d7
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
@@ -43,6 +43,9 @@ static bool tgt_if_regulatory_is_11d_offloaded(struct wlan_objmgr_psoc
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return false;

	return wmi_service_enabled(wmi_handle,
				   wmi_service_11d_offload);
}
@@ -52,6 +55,9 @@ static bool tgt_if_regulatory_is_regdb_offloaded(struct wlan_objmgr_psoc
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return false;

	return wmi_service_enabled(wmi_handle,
				   wmi_service_regulatory_db);
}
@@ -61,6 +67,9 @@ static bool tgt_if_regulatory_is_there_serv_ready_extn(struct wlan_objmgr_psoc
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return false;

	return wmi_service_enabled(wmi_handle,
				   wmi_service_ext_msg);
}
@@ -267,6 +276,9 @@ static QDF_STATUS tgt_if_regulatory_register_master_list_handler(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	return wmi_unified_register_event_handler(wmi_handle,
					       wmi_reg_chan_list_cc_event_id,
					       tgt_reg_chan_list_update_handler,
@@ -279,6 +291,9 @@ static QDF_STATUS tgt_if_regulatory_unregister_master_list_handler(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	return wmi_unified_unregister_event_handler(wmi_handle,
					       wmi_reg_chan_list_cc_event_id);
}
@@ -288,6 +303,9 @@ static QDF_STATUS tgt_if_regulatory_set_country_code(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	return wmi_unified_set_country_cmd_send(wmi_handle, arg);

}
@@ -297,6 +315,9 @@ static QDF_STATUS tgt_if_regulatory_set_user_country_code(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	if (wmi_unified_set_user_country_code_cmd_send(wmi_handle, pdev_id,
				rd) != QDF_STATUS_SUCCESS) {
		target_if_err("Set user country code failed");
@@ -311,6 +332,9 @@ static QDF_STATUS tgt_if_regulatory_register_11d_new_cc_handler(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	return wmi_unified_register_event(wmi_handle,
					  wmi_11d_new_country_event_id,
					  tgt_reg_11d_new_cc_handler);
@@ -321,6 +345,9 @@ static QDF_STATUS tgt_if_regulatory_unregister_11d_new_cc_handler(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	return wmi_unified_unregister_event(wmi_handle,
					    wmi_11d_new_country_event_id);
}
@@ -330,6 +357,9 @@ static QDF_STATUS tgt_if_regulatory_register_ch_avoid_event_handler(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	return wmi_unified_register_event(wmi_handle,
					  wmi_wlan_freq_avoid_event_id,
					  tgt_reg_ch_avoid_event_handler);
@@ -340,6 +370,9 @@ static QDF_STATUS tgt_if_regulatory_unregister_ch_avoid_event_handler(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	return wmi_unified_unregister_event(wmi_handle,
			wmi_wlan_freq_avoid_event_id);
}
@@ -349,6 +382,9 @@ static QDF_STATUS tgt_if_regulatory_start_11d_scan(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	return wmi_unified_send_start_11d_scan_cmd(wmi_handle,
						   reg_start_11d_scan_req);
}
@@ -359,6 +395,9 @@ static QDF_STATUS tgt_if_regulatory_stop_11d_scan(
{
	wmi_unified_t wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);

	if (!wmi_handle)
		return QDF_STATUS_E_FAILURE;

	return wmi_unified_send_stop_11d_scan_cmd(wmi_handle,
						  reg_stop_11d_scan_req);
}