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
This commit is contained in:

committed by
Madan Koyyalamudi

parent
b14d9ab822
commit
1986ba636a
@@ -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);
|
||||
|
@@ -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,9 +661,7 @@ 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,
|
||||
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);
|
||||
|
@@ -1916,10 +1916,8 @@ 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,
|
||||
|
@@ -299,14 +299,14 @@ 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,
|
||||
osif_dp_process_mic_error(struct dp_mic_error_info *info,
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct net_device *dev;
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user