Jelajahi Sumber

qcacld-3.0: Fix return type for scheduler_msg callbacks

This fixes a CFI failure in callback assignment

Change-Id: I01fbd8cb65f8e33a66065d29d1aab983647a40ac
CRs-Fixed: 2651013
Bapiraju Alla 5 tahun lalu
induk
melakukan
08410b2625

+ 5 - 2
components/interop_issues_ap/dispatcher/src/wlan_interop_issues_ap_tgt_api.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019-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
@@ -37,10 +37,11 @@ static QDF_STATUS wlan_interop_issues_ap_flush_cbk(struct scheduler_msg *msg)
 	return QDF_STATUS_SUCCESS;
 }
 
-static void wlan_interop_issues_ap_info_cbk(struct scheduler_msg *msg)
+static QDF_STATUS wlan_interop_issues_ap_info_cbk(struct scheduler_msg *msg)
 {
 	struct wlan_interop_issues_ap_event *data;
 	struct wlan_interop_issues_ap_callbacks *cbs;
+	QDF_STATUS status = QDF_STATUS_SUCCESS;
 
 	data = msg->bodyptr;
 	data->pdev = wlan_objmgr_get_pdev_by_id(data->psoc,
@@ -48,6 +49,7 @@ static void wlan_interop_issues_ap_info_cbk(struct scheduler_msg *msg)
 						WLAN_INTEROP_ISSUES_AP_ID);
 	if (!data->pdev) {
 		interop_issues_ap_err("pdev is null.");
+		status = QDF_STATUS_E_FAILURE;
 		goto err;
 	}
 
@@ -59,6 +61,7 @@ static void wlan_interop_issues_ap_info_cbk(struct scheduler_msg *msg)
 err:
 	qdf_mem_free(data);
 	msg->bodyptr = NULL;
+	return status;
 }
 
 QDF_STATUS tgt_interop_issues_ap_info_callback(struct wlan_objmgr_psoc *psoc,

+ 8 - 6
core/hdd/src/wlan_hdd_bcn_recv.c

@@ -121,8 +121,9 @@ static int get_pause_ind_data_len(bool is_disconnected)
  * Send beacon info to userspace for connected AP through a vendor event:
  * QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING.
  */
-static void hdd_send_bcn_recv_info(hdd_handle_t hdd_handle,
-				   struct wlan_beacon_report *beacon_report)
+static QDF_STATUS hdd_send_bcn_recv_info(hdd_handle_t hdd_handle,
+					 struct wlan_beacon_report
+					 *beacon_report)
 {
 	struct sk_buff *vendor_event;
 	struct hdd_context *hdd_ctx = hdd_handle_to_context(hdd_handle);
@@ -131,13 +132,13 @@ static void hdd_send_bcn_recv_info(hdd_handle_t hdd_handle,
 	struct hdd_adapter *adapter;
 
 	if (wlan_hdd_validate_context(hdd_ctx))
-		return;
+		return QDF_STATUS_E_FAILURE;
 
 	data_len = get_beacon_report_data_len(beacon_report);
 
 	adapter = hdd_get_adapter_by_vdev(hdd_ctx, beacon_report->vdev_id);
 	if (hdd_validate_adapter(adapter))
-		return;
+		return QDF_STATUS_E_FAILURE;
 
 	vendor_event =
 		cfg80211_vendor_event_alloc(
@@ -147,7 +148,7 @@ static void hdd_send_bcn_recv_info(hdd_handle_t hdd_handle,
 			flags);
 	if (!vendor_event) {
 		hdd_err("cfg80211_vendor_event_alloc failed");
-		return;
+		return QDF_STATUS_E_FAILURE;
 	}
 
 	if (nla_put_u32(vendor_event,
@@ -170,10 +171,11 @@ static void hdd_send_bcn_recv_info(hdd_handle_t hdd_handle,
 				      beacon_report->boot_time)) {
 		hdd_err("QCA_WLAN_VENDOR_ATTR put fail");
 		kfree_skb(vendor_event);
-		return;
+		return QDF_STATUS_E_FAILURE;
 	}
 
 	cfg80211_vendor_event(vendor_event, flags);
+	return QDF_STATUS_SUCCESS;
 }
 
 /**

+ 4 - 2
core/hdd/src/wlan_hdd_data_stall_detection.c

@@ -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
@@ -67,10 +67,12 @@ static inline void hdd_data_stall_send_event(uint32_t reason)
  *
  * Return: void
  */
-static void hdd_data_stall_process_event(
+static QDF_STATUS hdd_data_stall_process_event(
 			struct data_stall_event_info *data_stall_info)
 {
 	hdd_data_stall_send_event(data_stall_info->data_stall_type);
+
+	return QDF_STATUS_SUCCESS;
 }
 
 /**

+ 4 - 3
core/mac/src/sys/common/src/wlan_qct_sys.c

@@ -57,18 +57,19 @@ QDF_STATUS sys_build_message_header(SYS_MSG_ID msg_id,
  * Return: none
  */
 #ifdef QDF_ENABLE_TRACING
-static void umac_stop_complete_cb(void *user_data)
+static QDF_STATUS umac_stop_complete_cb(void *user_data)
 {
 	qdf_event_t *stop_evt = (qdf_event_t *) user_data;
 	QDF_STATUS qdf_status = qdf_event_set(stop_evt);
 
 	QDF_ASSERT(QDF_IS_STATUS_SUCCESS(qdf_status));
 
+	return QDF_STATUS_SUCCESS;
 }
 #else
-static void umac_stop_complete_cb(void *user_data)
+static QDF_STATUS umac_stop_complete_cb(void *user_data)
 {
-	return;
+	return QDF_STATUS_SUCCESS;
 }
 #endif
 

+ 2 - 2
core/sme/inc/sme_internal.h

@@ -253,8 +253,8 @@ typedef void (*hidden_ssid_cb)(hdd_handle_t hdd_handle,
  * @hdd_handle: HDD handle registered with SME
  * @beacon_report: Beacon report structure
  */
-typedef void (*beacon_report_cb)(hdd_handle_t hdd_handle,
-				 struct wlan_beacon_report *beacon_report);
+typedef QDF_STATUS (*beacon_report_cb)
+	(hdd_handle_t hdd_handle, struct wlan_beacon_report *beacon_report);
 
 /**
  * beacon_pause_cb : scan start callback fun