Browse Source

qcacld-3.0: Take vdev ref count with dbg id API

Replace hdd_objmgr_get/put_vdev by new API
hdd_objmgr_get/put_vdev_by_user to specify
functionality dbg id.

Change-Id: I51be1519edea8e4b35cf467bc9bde9c92c294d27
CRs-Fixed: 2832331
Liangwei Dong 4 years ago
parent
commit
cd463cfd17

+ 6 - 6
core/hdd/src/wlan_hdd_assoc.c

@@ -2018,10 +2018,10 @@ static QDF_STATUS hdd_dis_connect_handler(struct hdd_adapter *adapter,
 	sme_reset_key(mac_handle, adapter->vdev_id);
 
 	if (adapter->device_mode == QDF_STA_MODE) {
-		vdev = hdd_objmgr_get_vdev(adapter);
+		vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 		if (vdev) {
 			wlan_crypto_free_vdev_key(vdev);
-			hdd_objmgr_put_vdev(vdev);
+			hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 		}
 	}
 
@@ -2087,12 +2087,12 @@ static QDF_STATUS hdd_dis_connect_handler(struct hdd_adapter *adapter,
 	* module is enabled.
 	*/
 #ifdef WLAN_FEATURE_INTERFACE_MGR
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 	if (vdev) {
 		ucfg_if_mgr_deliver_event(vdev,
 					  WLAN_IF_MGR_EV_DISCONNECT_COMPLETE,
 					  NULL);
-		hdd_objmgr_put_vdev(vdev);
+		hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 	}
 #else
 	if (policy_mgr_is_sta_active_connection_exists(hdd_ctx->psoc) &&
@@ -4394,7 +4394,7 @@ wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter)
 	uint32_t session_id = adapter->vdev_id;
 	struct wlan_objmgr_vdev *vdev;
 
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 	if (!vdev)
 		return;
 
@@ -4404,7 +4404,7 @@ wlan_hdd_ft_set_key_delay(mac_handle_t mac_handle, struct hdd_adapter *adapter)
 				WLAN_CRYPTO_KEY_TYPE_UNICAST,
 				0);
 	}
-	hdd_objmgr_put_vdev(vdev);
+	hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 
 	if (errno)
 		hdd_err("ft set key failed");

+ 2 - 2
core/hdd/src/wlan_hdd_btc_chain_mode.c

@@ -151,12 +151,12 @@ static int __wlan_hdd_cfg80211_set_btc_chain_mode(struct wiphy *wiphy,
 		return -EINVAL;
 	}
 
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 	if (!vdev)
 		return -EINVAL;
 
 	errno = wlan_cfg80211_coex_set_btc_chain_mode(vdev, data, data_len);
-	hdd_objmgr_put_vdev(vdev);
+	hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 
 	return errno;
 }

+ 6 - 6
core/hdd/src/wlan_hdd_cfg.c

@@ -1297,7 +1297,7 @@ QDF_STATUS hdd_get_tx_nss(struct hdd_adapter *adapter, uint8_t *tx_nss)
 	enum band_info operating_band;
 	uint8_t proto_generic_nss;
 
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 	if (!vdev)
 		return QDF_STATUS_E_INVAL;
 
@@ -1306,7 +1306,7 @@ QDF_STATUS hdd_get_tx_nss(struct hdd_adapter *adapter, uint8_t *tx_nss)
 		dynamic_cfg = mlme_get_dynamic_vdev_config(vdev);
 		if (!dynamic_cfg) {
 			hdd_err("nss chain dynamic config NULL");
-			hdd_objmgr_put_vdev(vdev);
+			hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 			return QDF_STATUS_E_INVAL;
 		}
 		if (adapter->device_mode == QDF_SAP_MODE ||
@@ -1331,7 +1331,7 @@ QDF_STATUS hdd_get_tx_nss(struct hdd_adapter *adapter, uint8_t *tx_nss)
 			*tx_nss = proto_generic_nss;
 	} else
 		*tx_nss = proto_generic_nss;
-	hdd_objmgr_put_vdev(vdev);
+	hdd_objmgr_put_vdev_by_user(vdev,  WLAN_OSIF_ID);
 
 	return status;
 }
@@ -1345,7 +1345,7 @@ QDF_STATUS hdd_get_rx_nss(struct hdd_adapter *adapter, uint8_t *rx_nss)
 	enum band_info operating_band;
 	uint8_t proto_generic_nss;
 
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 	if (!vdev)
 		return QDF_STATUS_E_INVAL;
 
@@ -1354,7 +1354,7 @@ QDF_STATUS hdd_get_rx_nss(struct hdd_adapter *adapter, uint8_t *rx_nss)
 		dynamic_cfg = mlme_get_dynamic_vdev_config(vdev);
 		if (!dynamic_cfg) {
 			hdd_err("nss chain dynamic config NULL");
-			hdd_objmgr_put_vdev(vdev);
+			hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 			return QDF_STATUS_E_INVAL;
 		}
 		if (adapter->device_mode == QDF_SAP_MODE ||
@@ -1379,7 +1379,7 @@ QDF_STATUS hdd_get_rx_nss(struct hdd_adapter *adapter, uint8_t *rx_nss)
 			*rx_nss = proto_generic_nss;
 	} else
 		*rx_nss = proto_generic_nss;
-	hdd_objmgr_put_vdev(vdev);
+	hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 
 	return status;
 }

+ 2 - 2
core/hdd/src/wlan_hdd_cfg80211.c

@@ -18800,13 +18800,13 @@ static int wlan_hdd_cfg80211_connect_start(struct hdd_adapter *adapter,
 	 * module is enabled.
 	 */
 #ifdef WLAN_FEATURE_INTERFACE_MGR
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 	if (!vdev)
 		return -EINVAL;
 
 	ucfg_if_mgr_deliver_event(vdev, WLAN_IF_MGR_EV_CONNECT_START, NULL);
 
-	hdd_objmgr_put_vdev(vdev);
+	hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 #else
 	/* Disable roaming on all other adapters before connect start */
 	wlan_hdd_disable_roaming(adapter, RSO_CONNECT_START);

+ 2 - 2
core/hdd/src/wlan_hdd_ftm_time_sync.c

@@ -56,7 +56,7 @@ hdd_ftm_time_sync_sta_state_notify(struct hdd_adapter *adapter,
 	struct net_device *net_dev;
 	struct wlan_objmgr_vdev *vdev;
 
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, FTM_TIME_SYNC_ID);
 	if (!vdev)
 		return;
 
@@ -83,5 +83,5 @@ hdd_ftm_time_sync_sta_state_notify(struct hdd_adapter *adapter,
 						vdev, state,
 						hdd_sta_ctx->conn_info.bssid);
 out:
-	hdd_objmgr_put_vdev(vdev);
+	hdd_objmgr_put_vdev_by_user(vdev, FTM_TIME_SYNC_ID);
 }

+ 3 - 3
core/hdd/src/wlan_hdd_hang_event.c

@@ -79,7 +79,7 @@ static int wlan_hdd_recovery_notifier_call(struct notifier_block *block,
 
 	hdd_for_each_adapter_dev_held_safe(hdd_ctx, adapter, next_adapter,
 					   dbgid) {
-		vdev = hdd_objmgr_get_vdev(adapter);
+		vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 		if (!vdev) {
 			hdd_adapter_dev_put_debug(adapter, dbgid);
 			continue;
@@ -88,7 +88,7 @@ static int wlan_hdd_recovery_notifier_call(struct notifier_block *block,
 		hdd_buf_ptr = hdd_hang_data->hang_data + hdd_hang_data->offset;
 		if (hdd_hang_data->offset + total_len >
 				QDF_WLAN_HANG_FW_OFFSET) {
-			hdd_objmgr_put_vdev(vdev);
+			hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 			hdd_adapter_dev_put_debug(adapter, dbgid);
 			if (next_adapter)
 				hdd_adapter_dev_put_debug(next_adapter,
@@ -104,7 +104,7 @@ static int wlan_hdd_recovery_notifier_call(struct notifier_block *block,
 		cmd->vdev_state = wlan_vdev_mlme_get_state(vdev);
 		cmd->vdev_substate = wlan_vdev_mlme_get_substate(vdev);
 		hdd_hang_data->offset += total_len;
-		hdd_objmgr_put_vdev(vdev);
+		hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 		hdd_adapter_dev_put_debug(adapter, dbgid);
 	}
 

+ 2 - 2
core/hdd/src/wlan_hdd_hostapd.c

@@ -3103,7 +3103,7 @@ int hdd_softap_set_channel_change(struct net_device *dev, int target_chan_freq,
 	 * Post the Channel Change request to SAP.
 	 */
 
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 	if (!vdev) {
 		qdf_atomic_set(&adapter->ch_switch_in_progress, 0);
 		wlan_hdd_enable_roaming(adapter, RSO_SAP_CHANNEL_CHANGE);
@@ -3111,7 +3111,7 @@ int hdd_softap_set_channel_change(struct net_device *dev, int target_chan_freq,
 	}
 	if (wlan_vdev_mlme_get_opmode(vdev) == QDF_P2P_GO_MODE)
 		is_p2p_go_session = true;
-	hdd_objmgr_put_vdev(vdev);
+	hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 
 	strict = is_p2p_go_session;
 	strict = strict || forced;

+ 2 - 2
core/hdd/src/wlan_hdd_ioctl.c

@@ -6098,7 +6098,7 @@ static inline int drv_cmd_get_antenna_mode(struct hdd_adapter *adapter,
 	uint8_t len = 0;
 	struct wlan_objmgr_vdev *vdev;
 
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_OSIF_ID);
 	if (!vdev) {
 		hdd_err("vdev is NULL");
 		return -EINVAL;
@@ -6108,7 +6108,7 @@ static inline int drv_cmd_get_antenna_mode(struct hdd_adapter *adapter,
 	/* Overwrite this antenna mode if dynamic vdev chains are supported */
 	hdd_get_dynamic_antenna_mode(&antenna_mode,
 				     hdd_ctx->dynamic_nss_chains_support, vdev);
-	hdd_objmgr_put_vdev(vdev);
+	hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_ID);
 	len = scnprintf(extra, sizeof(extra), "%s %d", command,
 			antenna_mode);
 	len = QDF_MIN(priv_data->total_len, len + 1);

+ 2 - 2
core/hdd/src/wlan_hdd_wmm.c

@@ -1525,12 +1525,12 @@ QDF_STATUS hdd_send_dscp_up_map_to_fw(struct hdd_adapter *adapter)
 	struct wlan_objmgr_vdev *vdev;
 	int ret;
 
-	vdev = hdd_objmgr_get_vdev(adapter);
+	vdev = hdd_objmgr_get_vdev_by_user(adapter, WLAN_FWOL_NB_ID);
 
 	if (vdev) {
 		/* Send DSCP to TID map table to FW */
 		ret = os_if_fwol_send_dscp_up_map_to_fw(vdev, dscp_to_up_map);
-		hdd_objmgr_put_vdev(vdev);
+		hdd_objmgr_put_vdev_by_user(vdev, WLAN_FWOL_NB_ID);
 		if (ret && ret != -EOPNOTSUPP)
 			return QDF_STATUS_E_FAILURE;
 	}