Browse Source

qcacld-3.0: Modified osif Mic error handler support

Combined dp process mic error support for both SAP
and STA interfaces into one API for DP component

Change-Id: Ic78675d4bfdd5b5cc995505bcbf9862711c5ba24
CRs-Fixed: 3226471
Roopavathi Lingampalli 2 years ago
parent
commit
1986ba636a

+ 3 - 2
components/dp/core/src/wlan_dp_main.c

@@ -20,6 +20,7 @@
   *
   *
   */
+
 #include "wlan_dp_main.h"
 #include "wlan_dp_public_struct.h"
 #include "cfg_ucfg_api.h"
@@ -648,11 +649,11 @@ __dp_process_mic_error(struct wlan_dp_intf *dp_intf)
 	if ((dp_intf->device_mode == QDF_STA_MODE ||
 	     dp_intf->device_mode == QDF_P2P_CLIENT_MODE) &&
 	    ucfg_cm_is_vdev_active(vdev))
-		ops->osif_dp_process_sta_mic_error(dp_intf->mic_work.info,
+		ops->osif_dp_process_mic_error(dp_intf->mic_work.info,
 						   vdev);
 	else if (dp_intf->device_mode == QDF_SAP_MODE ||
 		 dp_intf->device_mode == QDF_P2P_GO_MODE)
-		ops->osif_dp_process_sap_mic_error(dp_intf->mic_work.info,
+		ops->osif_dp_process_mic_error(dp_intf->mic_work.info,
 						   vdev);
 	else
 		dp_err("Invalid interface type:%d", dp_intf->device_mode);

+ 3 - 6
components/dp/dispatcher/inc/wlan_dp_public_struct.h

@@ -582,8 +582,7 @@ union wlan_tp_data {
  * @dp_napi_apply_throughput_policy:Callback to apply NAPI throughput policy
  * @wlan_dp_display_tx_multiq_stats: Callback to display Tx Mulit queue stats
  * @wlan_dp_display_netif_queue_history: Callback to display Netif queue history
- * @osif_dp_process_sta_mic_error: osif callback to process STA MIC error
- * @osif_dp_process_sap_mic_error: osif callback to process SAP MIC error
+ * @osif_dp_process_mic_error: osif callback to process MIC error
  * @dp_is_link_adapter: Callback API to check if adapter is link adapter
  * @os_if_dp_nud_stats_info: osif callback to print nud stats info
  * @dp_get_pause_map: Callback API to get pause map count
@@ -662,10 +661,8 @@ struct wlan_dp_psoc_callbacks {
 						uint8_t vdev_id);
 	void (*wlan_dp_display_netif_queue_history)(hdd_cb_handle context,
 				enum qdf_stats_verbosity_level verb_lvl);
-	void (*osif_dp_process_sta_mic_error)(struct dp_mic_error_info *info,
-					      struct wlan_objmgr_vdev *vdev);
-	void (*osif_dp_process_sap_mic_error)(struct dp_mic_error_info *info,
-					      struct wlan_objmgr_vdev *vdev);
+	void (*osif_dp_process_mic_error)(struct dp_mic_error_info *info,
+					  struct wlan_objmgr_vdev *vdev);
 	bool (*dp_is_link_adapter)(hdd_cb_handle context, uint8_t vdev_id);
 	void (*os_if_dp_nud_stats_info)(struct wlan_objmgr_vdev *vdev);
 	uint32_t (*dp_get_pause_map)(hdd_cb_handle context, uint8_t vdev_id);

+ 3 - 5
components/dp/dispatcher/src/wlan_dp_ucfg_api.c

@@ -1916,11 +1916,9 @@ void ucfg_dp_register_hdd_callbacks(struct wlan_objmgr_psoc *psoc,
 		cb_obj->osif_dp_send_tcp_param_update_event;
 	dp_ctx->dp_ops.os_if_dp_nud_stats_info =
 		cb_obj->os_if_dp_nud_stats_info;
-	dp_ctx->dp_ops.osif_dp_process_sta_mic_error =
-		cb_obj->osif_dp_process_sta_mic_error;
-	dp_ctx->dp_ops.osif_dp_process_sap_mic_error =
-		cb_obj->osif_dp_process_sap_mic_error;
-}
+	dp_ctx->dp_ops.osif_dp_process_mic_error =
+		cb_obj->osif_dp_process_mic_error;
+	}
 
 void ucfg_dp_register_event_handler(struct wlan_objmgr_psoc *psoc,
 				    struct wlan_dp_psoc_nb_ops *cb_obj)

+ 5 - 39
os_if/dp/src/os_if_dp.c

@@ -299,15 +299,15 @@ static int osif_dp_get_net_dev_from_vdev(struct wlan_objmgr_vdev *vdev,
 }
 
 /**
- * osif_dp_process_sta_mic_error() - Indicate STA mic error to supplicant
+ * osif_dp_process_mic_error() - Indicate mic error to supplicant
  * @info: MIC error information
  * @vdev: vdev handle
  *
  * Return: None
  */
 static void
-osif_dp_process_sta_mic_error(struct dp_mic_error_info *info,
-			      struct wlan_objmgr_vdev *vdev)
+osif_dp_process_mic_error(struct dp_mic_error_info *info,
+			  struct wlan_objmgr_vdev *vdev)
 {
 	struct net_device *dev;
 	struct osif_vdev_sync *vdev_sync;
@@ -332,39 +332,6 @@ osif_dp_process_sta_mic_error(struct dp_mic_error_info *info,
 				     GFP_KERNEL);
 }
 
-/**
- * osif_dp_process_sap_mic_error() - Indicate SAP mic error to supplicant
- * @info: MIC error information
- * @vdev: vdev handle
- *
- * Return: None
- */
-static void
-osif_dp_process_sap_mic_error(struct dp_mic_error_info *info,
-			      struct wlan_objmgr_vdev *vdev)
-{
-	struct net_device *dev;
-	int errno;
-	struct osif_vdev_sync *vdev_sync;
-
-	errno = osif_dp_get_net_dev_from_vdev(vdev, &dev);
-	if (errno) {
-		dp_err("failed to get netdev");
-		return;
-	}
-	if (osif_vdev_sync_op_start(dev, &vdev_sync))
-		return;
-
-	/* inform mic failure to nl80211 */
-	cfg80211_michael_mic_failure(dev,
-				     (uint8_t *)&info->ta_mac_addr,
-				     info->multicast ?
-				     NL80211_KEYTYPE_GROUP :
-				     NL80211_KEYTYPE_PAIRWISE,
-				     info->key_id,
-				     info->tsc,
-				     GFP_KERNEL);
-}
 
 /**
  * osif_dp_get_arp_stats_event_handler() - ARP get stats event handler
@@ -1247,10 +1214,9 @@ void os_if_dp_register_hdd_callbacks(struct wlan_objmgr_psoc *psoc,
 	cb_obj->osif_dp_send_tcp_param_update_event =
 		osif_dp_send_tcp_param_update_event;
 	cb_obj->os_if_dp_nud_stats_info = os_if_dp_nud_stats_info;
-	cb_obj->osif_dp_process_sta_mic_error = osif_dp_process_sta_mic_error;
-	cb_obj->osif_dp_process_sap_mic_error = osif_dp_process_sap_mic_error;
+	cb_obj->osif_dp_process_mic_error = osif_dp_process_mic_error;
 	os_if_dp_register_txrx_callbacks(cb_obj);
 
 	ucfg_dp_register_hdd_callbacks(psoc, cb_obj);
 	os_if_dp_register_event_handler(psoc);
-}
+