Эх сурвалжийг харах

qcacld-3.0: Ignore legacy rate set if it is HE connection

Do not configure legacy rate to FW if it is HE connection, otherwise
FW does not work.

Change-Id: I31d167ee79b7b58cabad29e65cf6834a7151093d
CRs-Fixed: 2472811
bings 6 жил өмнө
parent
commit
f333110988

+ 12 - 0
mlme/dispatcher/inc/wlan_mlme_api.h

@@ -2224,4 +2224,16 @@ wlan_mlme_get_self_gen_frm_pwr(struct wlan_objmgr_psoc *psoc,
  */
 QDF_STATUS
 wlan_mlme_get_4way_hs_offload(struct wlan_objmgr_psoc *psoc, bool *value);
+
+/**
+ * mlme_get_peer_phymode() - get phymode of peer
+ * @psoc: pointer to psoc object
+ * @mac:  Pointer to the mac addr of the peer
+ * @peer_phymode: phymode
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS
+mlme_get_peer_phymode(struct wlan_objmgr_psoc *psoc, uint8_t *mac,
+		      enum wlan_phymode *peer_phymode);
 #endif /* _WLAN_MLME_API_H_ */

+ 15 - 0
mlme/dispatcher/inc/wlan_mlme_ucfg_api.h

@@ -3828,4 +3828,19 @@ ucfg_mlme_get_channel_bonding_5ghz(struct wlan_objmgr_psoc *psoc,
 QDF_STATUS
 ucfg_mlme_set_channel_bonding_5ghz(struct wlan_objmgr_psoc *psoc,
 				   uint32_t value);
+
+/**
+ * ucfg_mlme_get_peer_phymode() - get phymode of peer
+ * @psoc: pointer to psoc object
+ * @mac:  Pointer to the mac addr of the peer
+ * @peer_phymode: phymode
+ *
+ * Return: QDF Status
+ */
+static inline QDF_STATUS
+ucfg_mlme_get_peer_phymode(struct wlan_objmgr_psoc *psoc, uint8_t *mac,
+			   enum wlan_phymode *peer_phymode)
+{
+	return mlme_get_peer_phymode(psoc, mac, peer_phymode);
+}
 #endif /* _WLAN_MLME_UCFG_API_H_ */

+ 17 - 0
mlme/dispatcher/src/wlan_mlme_api.c

@@ -3432,3 +3432,20 @@ wlan_mlme_get_4way_hs_offload(struct wlan_objmgr_psoc *psoc, bool *value)
 
 	return QDF_STATUS_SUCCESS;
 }
+
+QDF_STATUS mlme_get_peer_phymode(struct wlan_objmgr_psoc *psoc, uint8_t *mac,
+				 enum wlan_phymode *peer_phymode)
+{
+	struct wlan_objmgr_peer *peer;
+
+	peer = wlan_objmgr_get_peer_by_mac(psoc, mac, WLAN_MLME_NB_ID);
+	if (!peer) {
+		mlme_legacy_err("peer object is null");
+		return QDF_STATUS_E_NULL_VALUE;
+	}
+
+	*peer_phymode = wlan_peer_get_phymode(peer);
+	wlan_objmgr_peer_release_ref(peer, WLAN_MLME_NB_ID);
+
+	return QDF_STATUS_SUCCESS;
+}