Browse Source

qcacld-3.0: Fix build error for SON module

Fix some build errors for SON module when SON Macro is enabled

Change-Id: I2d7336e551870e91024a259698c740319dd1b639
CRs-Fixed: 3150082
Bing Sun 3 years ago
parent
commit
ebd3d8258e

+ 1 - 0
components/son/dispatcher/src/son_api.c

@@ -24,6 +24,7 @@
 #include <wlan_mlme_api.h>
 #include <ieee80211_external.h>
 #include <wlan_cfg80211_scan.h>
+#include <wlan_mlme_main.h>
 
 /**
  * struct son_mlme_deliver_cbs - son mlme deliver callbacks

+ 1 - 1
core/hdd/src/wlan_hdd_main.c

@@ -6440,6 +6440,7 @@ int hdd_vdev_destroy(struct hdd_adapter *adapter)
 	ucfg_scan_vdev_set_disable(vdev, REASON_VDEV_DOWN);
 	wlan_hdd_scan_abort(adapter);
 	wlan_cfg80211_cleanup_scan_queue(hdd_ctx->pdev, adapter->dev);
+	ucfg_son_disable_cbs(vdev);
 	/* Disable serialization for vdev before sending vdev delete */
 	wlan_ser_vdev_queue_disable(vdev);
 	hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
@@ -6473,7 +6474,6 @@ int hdd_vdev_destroy(struct hdd_adapter *adapter)
 					  QDF_VDEV_DELETE_RESPONSE_TIMED_OUT);
 	}
 
-	ucfg_son_disable_cbs(vdev);
 	hdd_nofl_debug("vdev %d destroyed successfully", vdev_id);
 
 send_status:

+ 27 - 28
core/hdd/src/wlan_hdd_son.c

@@ -1580,6 +1580,30 @@ son_trigger_pdev_obj_creation(struct wlan_objmgr_psoc *psoc,
 		hdd_err("pdev obj creation trigger failed");
 }
 
+/**
+ * son_trigger_pdev_obj_deletion() - Trigger pdev object deletion
+ * @psoc: psoc object
+ * @object: pdev object
+ * @arg: component id
+ *
+ * Return: void
+ */
+static void
+son_trigger_pdev_obj_deletion(struct wlan_objmgr_psoc *psoc,
+			      void *object, void *arg)
+{
+	QDF_STATUS ret;
+	struct wlan_objmgr_pdev *pdev;
+	enum wlan_umac_comp_id *id;
+
+	pdev = object;
+	id = arg;
+
+	ret = wlan_objmgr_trigger_pdev_comp_priv_object_deletion(pdev, *id);
+	if (QDF_IS_STATUS_ERROR(ret))
+		hdd_err("pdev obj delete trigger failed");
+}
+
 /**
  * hdd_son_trigger_objmgr_object_creation() - Trigger objmgr object creation
  * @id: umac component id
@@ -1685,30 +1709,6 @@ son_trigger_vdev_obj_deletion(struct wlan_objmgr_psoc *psoc,
 		hdd_err("vdev obj deletion trigger failed");
 }
 
-/**
- * son_trigger_pdev_obj_deletion() - Trigger pdev object deletion
- * @psoc: psoc object
- * @object: pdev object
- * @arg: component id
- *
- * Return: void
- */
-static void
-son_trigger_pdev_obj_deletion(struct wlan_objmgr_psoc *psoc,
-			      void *object, void *arg)
-{
-	QDF_STATUS ret;
-	struct wlan_objmgr_pdev *pdev;
-	enum wlan_umac_comp_id *id;
-
-	pdev = object;
-	id = arg;
-
-	ret = wlan_objmgr_trigger_pdev_comp_priv_object_deletion(pdev, *id);
-	if (QDF_IS_STATUS_ERROR(ret))
-		hdd_err("pdev obj delete trigger failed");
-}
-
 /**
  * hdd_son_trigger_objmgr_object_deletion() - Trigger objmgr object deletion
  * @id: umac component id
@@ -1775,7 +1775,7 @@ static QDF_STATUS hdd_son_init_acs_channels(struct hdd_adapter *adapter,
 	}
 	if (acs_cfg->freq_list) {
 		hdd_debug("ACS config is already there, no need to init again");
-		return return QDF_STATUS_SUCCESS;
+		return QDF_STATUS_SUCCESS;
 	}
 	/* Setting ACS config */
 	qdf_mem_zero(acs_cfg, sizeof(*acs_cfg));
@@ -2116,7 +2116,6 @@ static int hdd_son_get_acs_report(struct wlan_objmgr_vdev *vdev,
 	uint8_t  acs_entry_id = 0;
 	ACS_LIST_TYPE acs_type = 0;
 	int ret = 0, i = 0;
-	uint8_t vdev_id = vdev->vdev_objmgr.vdev_id;
 	struct sap_acs_cfg *acs_cfg;
 	struct hdd_context *hdd_ctx;
 	struct ieee80211_acs_dbg *acs_r = NULL;
@@ -2138,7 +2137,7 @@ static int hdd_son_get_acs_report(struct wlan_objmgr_vdev *vdev,
 		ret = -EINVAL;
 		goto end;
 	}
-	if (hdd_son_get_acs_in_progress(vdev_id)) {
+	if (hdd_son_is_acs_in_progress(vdev)) {
 		acs_report->nchans = 0;
 		hdd_err("ACS is in-progress");
 		ret = -EAGAIN;
@@ -2241,7 +2240,7 @@ static const uint8_t wlanphymode2ieeephymode[WLAN_PHYMODE_MAX] = {
 	[WLAN_PHYMODE_11AC_VHT80_80] = IEEE80211_MODE_11AC_VHT80_80,
 	[WLAN_PHYMODE_11AXA_HE20] = IEEE80211_MODE_11AXA_HE20,
 	[WLAN_PHYMODE_11AXG_HE20] = IEEE80211_MODE_11AXG_HE20,
-	[WLAN_PHYMODE_11AXA_HE40MINUS] = IEEE80211_MODE_11AXA_HE40,
+	[WLAN_PHYMODE_11AXA_HE40] = IEEE80211_MODE_11AXA_HE40,
 	[WLAN_PHYMODE_11AXG_HE40PLUS] = IEEE80211_MODE_11AXG_HE40PLUS,
 	[WLAN_PHYMODE_11AXG_HE40MINUS] = IEEE80211_MODE_11AXG_HE40MINUS,
 	[WLAN_PHYMODE_11AXG_HE40] = IEEE80211_MODE_11AXG_HE40,

+ 2 - 3
os_if/son/src/os_if_son.c

@@ -926,7 +926,7 @@ QDF_STATUS os_if_son_vdev_ops(struct wlan_objmgr_vdev *vdev,
 	case VDEV_GET_CHAN_UTIL:
 		if (!out)
 			return QDF_STATUS_E_INVAL;
-		out->chan_util = os_if_son_get_chan_uti(vdev, NULL);
+		out->chan_util = os_if_son_get_chan_util(vdev);
 		break;
 	case VDEV_GET_APCAP:
 		break;
@@ -1007,8 +1007,7 @@ QDF_STATUS os_if_son_peer_ops(struct wlan_objmgr_peer *peer,
 	case PEER_SET_KICKOUT:
 		qdf_mem_copy(&mac.bytes, peer->macaddr, QDF_MAC_ADDR_SIZE);
 		ret_val =
-		    g_son_os_if_cb.os_if_kickout_mac(vdev->vdev_objmgr.vdev_id,
-						     &mac);
+		    g_son_os_if_cb.os_if_kickout_mac(vdev, &mac);
 		if (ret_val) {
 			osif_err("Failed to kickout peer " QDF_MAC_ADDR_FMT,
 				 QDF_MAC_ADDR_REF(peer->macaddr));