浏览代码

qcacmn: Send Link reconfig event on assoc vdev

Host driver is currently indicating link reconfig
event on link vdev.

Change is to indicate link reconfig on the primary vdev
affiliated with wlan0.

Change-Id: I9955d98bcd52554adf22f838bfbd2263418432d1
CRs-Fixed: 3535940
Amruta Kulkarni 2 年之前
父节点
当前提交
82d71c7059
共有 1 个文件被更改,包括 11 次插入2 次删除
  1. 11 2
      os_if/linux/mlme/src/osif_cm_util.c

+ 11 - 2
os_if/linux/mlme/src/osif_cm_util.c

@@ -27,6 +27,7 @@
 #include "wlan_cfg80211.h"
 #include "osif_cm_rsp.h"
 #include "wlan_cfg80211_scan.h"
+#include "wlan_mlo_mgr_sta.h"
 
 enum qca_sta_connect_fail_reason_codes
 osif_cm_mac_to_qca_connect_fail_reason(enum wlan_status_code internal_reason)
@@ -355,7 +356,8 @@ osif_cm_disable_netif_queue(struct wlan_objmgr_vdev *vdev)
 static QDF_STATUS
 osif_link_reconfig_notify_cb(struct wlan_objmgr_vdev *vdev)
 {
-	struct vdev_osif_priv *osif_priv = wlan_vdev_get_ospriv(vdev);
+	struct vdev_osif_priv *osif_priv;
+	struct wlan_objmgr_vdev *assoc_vdev;
 	struct wireless_dev *wdev;
 	uint8_t link_id;
 	uint16_t link_mask;
@@ -366,6 +368,13 @@ osif_link_reconfig_notify_cb(struct wlan_objmgr_vdev *vdev)
 	struct qdf_mac_addr ap_mld_mac;
 	QDF_STATUS status;
 
+	assoc_vdev = ucfg_mlo_get_assoc_link_vdev(vdev);
+	if (!assoc_vdev) {
+		osif_err("Failed to get assoc vdev");
+		return QDF_STATUS_E_INVAL;
+	}
+
+	osif_priv = wlan_vdev_get_ospriv(assoc_vdev);
 	if (!osif_priv) {
 		osif_err("Invalid vdev osif priv");
 		return QDF_STATUS_E_INVAL;
@@ -376,7 +385,7 @@ osif_link_reconfig_notify_cb(struct wlan_objmgr_vdev *vdev)
 		osif_err("wdev is null");
 		return QDF_STATUS_E_INVAL;
 	}
-	pdev = wlan_vdev_get_pdev(vdev);
+	pdev = wlan_vdev_get_pdev(assoc_vdev);
 	if (!pdev) {
 		osif_debug("null pdev");
 		return QDF_STATUS_E_INVAL;