Explorar el Código

qcacld-3.0: Modify HDD vdev create API to return OS status

HDD APIs should return native OS return code hence modify
hdd_create_and_store_vdev() to return native OS return code

Change-Id: I67ce7b066e497f2b76bf27df83b8bad594f592d0
CRs-Fixed: 1111438
Rajeev Kumar hace 8 años
padre
commit
deabf3ee4b

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

@@ -5830,8 +5830,8 @@ QDF_STATUS hdd_init_ap_mode(hdd_adapter_t *pAdapter)
 	}
 	pAdapter->sessionId = session_id;
 
-	status = hdd_create_and_store_vdev(pHddCtx->hdd_pdev, pAdapter);
-	if (QDF_IS_STATUS_ERROR(status))
+	ret = hdd_create_and_store_vdev(pHddCtx->hdd_pdev, pAdapter);
+	if (ret)
 		goto error_vdev_create;
 
 	/* Allocate the Wireless Extensions state structure */

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

@@ -2683,8 +2683,8 @@ QDF_STATUS hdd_init_station_mode(hdd_adapter_t *adapter)
 		return QDF_STATUS_E_FAILURE;
 	}
 
-	status = hdd_create_and_store_vdev(hdd_ctx->hdd_pdev, adapter);
-	if (QDF_IS_STATUS_ERROR(status))
+	ret_val = hdd_create_and_store_vdev(hdd_ctx->hdd_pdev, adapter);
+	if (ret_val)
 		goto error_vdev_create;
 
 	sme_set_vdev_ies_per_band(hdd_ctx->hHal, adapter->sessionId);

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

@@ -1985,11 +1985,9 @@ int hdd_init_nan_data_mode(struct hdd_adapter_s *adapter)
 		goto error_sme_open;
 	}
 
-	status = hdd_create_and_store_vdev(hdd_ctx->hdd_pdev, adapter);
-	if (QDF_IS_STATUS_ERROR(status)) {
-		ret_val = -EAGAIN;
+	ret_val = hdd_create_and_store_vdev(hdd_ctx->hdd_pdev, adapter);
+	if (ret_val)
 		goto error_vdev_create;
-	}
 
 	/* Register wireless extensions */
 	ret_val = hdd_register_wext(wlan_dev);

+ 7 - 7
core/hdd/src/wlan_hdd_object_manager.c

@@ -87,8 +87,8 @@ int hdd_release_and_destroy_pdev(hdd_context_t *hdd_ctx)
 	return qdf_status_to_os_return(wlan_objmgr_pdev_obj_delete(pdev));
 }
 
-QDF_STATUS hdd_create_and_store_vdev(struct wlan_objmgr_pdev *pdev,
-				hdd_adapter_t *adapter)
+int hdd_create_and_store_vdev(struct wlan_objmgr_pdev *pdev,
+			      hdd_adapter_t *adapter)
 {
 	struct wlan_objmgr_vdev *vdev;
 	struct wlan_objmgr_peer *peer;
@@ -99,20 +99,20 @@ QDF_STATUS hdd_create_and_store_vdev(struct wlan_objmgr_pdev *pdev,
 						QDF_NET_MAC_ADDR_MAX_LEN);
 	if (!pdev) {
 		hdd_err("pdev NULL");
-		return QDF_STATUS_E_FAILURE;
+		return -EINVAL;
 	}
 
 	vdev = wlan_objmgr_vdev_obj_create(pdev, &vdev_params);
 	if (!vdev) {
 		hdd_err("vdev obj create fails");
-		return QDF_STATUS_E_FAILURE;
+		return -ENOMEM;
 	}
 
 	if (adapter->sessionId != wlan_vdev_get_id(vdev)) {
 		hdd_err("session id and vdev id mismatch");
 		wlan_objmgr_vdev_obj_delete(vdev);
 		QDF_ASSERT(0);
-		return QDF_STATUS_E_FAILURE;
+		return -EINVAL;
 	}
 
 	peer = wlan_objmgr_peer_obj_create(vdev, WLAN_PEER_SELF,
@@ -121,13 +121,13 @@ QDF_STATUS hdd_create_and_store_vdev(struct wlan_objmgr_pdev *pdev,
 		hdd_err("obj manager self peer create fails for adapter %d",
 					adapter->device_mode);
 		wlan_objmgr_vdev_obj_delete(vdev);
-		return QDF_STATUS_E_FAILURE;
+		return -ENOMEM;
 	}
 	adapter->hdd_vdev = vdev;
 
 	wlan_objmgr_peer_ref_peer(peer);
 
-	return QDF_STATUS_SUCCESS;
+	return 0;
 }
 
 QDF_STATUS hdd_release_and_destroy_vdev(hdd_adapter_t *adapter)

+ 3 - 3
core/hdd/src/wlan_hdd_object_manager.h

@@ -115,10 +115,10 @@ int hdd_release_and_destroy_pdev(hdd_context_t *hdd_ctx);
  * session id and vdev id of the new vdev object doesnot match, destroys the
  * created vdev object and returns failure
  *
- * Return: QDF_STATUS
+ * Return: 0 for success, negative error code for failure
  */
-QDF_STATUS hdd_create_and_store_vdev(struct wlan_objmgr_pdev *pdev,
-					hdd_adapter_t *adapter);
+int hdd_create_and_store_vdev(struct wlan_objmgr_pdev *pdev,
+			      hdd_adapter_t *adapter);
 
 /**
  * hdd_release_and_destroy_vdev() - Delete the vdev object