From ff83a0693f869a7d8ad757c1e2e9dbd011e90d47 Mon Sep 17 00:00:00 2001 From: Dundi Raviteja Date: Tue, 28 Sep 2021 16:41:09 +0530 Subject: [PATCH] qcacld-3.0: Map monitor interface vdev during SSR Map monitor interface vdev with STA vdev during SSR reinit. Change-Id: I0baca7c09d0fe7f800135181a1445770ab8e2971 CRs-Fixed: 3045111 --- core/hdd/src/wlan_hdd_main.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 7f167132e76d..412a5e0b45e5 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -4434,7 +4434,9 @@ static int __hdd_open(struct net_device *dev) hdd_populate_wifi_pos_cfg(hdd_ctx); hdd_lpass_notify_start(hdd_ctx, adapter); - hdd_map_monitor_interface_vdev(adapter); + if (ucfg_pkt_capture_get_mode(hdd_ctx->psoc) != + PACKET_CAPTURE_MODE_DISABLE) + hdd_map_monitor_interface_vdev(adapter); return 0; } @@ -8533,7 +8535,6 @@ QDF_STATUS hdd_start_all_adapters(struct hdd_context *hdd_ctx) { struct hdd_adapter *adapter, *next_adapter = NULL; bool value; - struct wlan_objmgr_vdev *vdev; wlan_net_dev_ref_dbgid dbgid = NET_DEV_HOLD_START_ALL_ADAPTERS; hdd_enter(); @@ -8599,19 +8600,19 @@ QDF_STATUS hdd_start_all_adapters(struct hdd_context *hdd_ctx) break; case QDF_MONITOR_MODE: if (wlan_hdd_is_session_type_monitor( - QDF_MONITOR_MODE) && + adapter->device_mode) && ucfg_pkt_capture_get_mode(hdd_ctx->psoc) != PACKET_CAPTURE_MODE_DISABLE) { - vdev = hdd_objmgr_get_vdev(adapter); - if (vdev) { - ucfg_pkt_capture_register_callbacks( - vdev, - hdd_mon_rx_packet_cbk, - adapter); - hdd_objmgr_put_vdev(vdev); - } else { - hdd_err("vdev is null"); + struct hdd_adapter *sta_adapter; + + sta_adapter = hdd_get_adapter(hdd_ctx, + QDF_STA_MODE); + if (!sta_adapter) { + hdd_err("No station interface found"); + return -EINVAL; } + + hdd_map_monitor_interface_vdev(sta_adapter); break; } hdd_start_station_adapter(adapter);