qcacmn: Fix AST index for STA Vdev overwritten issue
For KIWI, STA AST index lookup search is enabled and remote AP peer's AST index will be stored in STA Vdev if receive AP peer htt peer map msg. but if STA TDLS connection happened, host will receive another peer map msg for remote TDLS STA peer, this remote TDLS STA peer's AST index will overwrite original AP's AST index. if TDLS disconnected, STA vdev will still use remote TDLS STA's AST index for TX, then TX to AP might fail. Add is_tdls_peer flag in dp peer and configure this value by cdp_peer_set_peer_as_tdls() from control path right after TDLS peer created. if is_tdls_peer is true, do not store this TDLS peer's AST index to STA Vdev, skip bss_peer flag setting as well. Change-Id: I7b5df1caca6a0b5305a6e867cd92099b5f6a4890 CRs-Fixed: 3151035
このコミットが含まれているのは:
@@ -7188,6 +7188,7 @@ dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
||||
dp_peer_add_ast(soc, peer, peer_mac_addr, ast_type, 0);
|
||||
|
||||
peer->valid = 1;
|
||||
peer->is_tdls_peer = false;
|
||||
dp_local_peer_id_alloc(pdev, peer);
|
||||
|
||||
qdf_spinlock_create(&peer->peer_info_lock);
|
||||
@@ -13528,6 +13529,7 @@ static struct cdp_peer_ops dp_ops_peer = {
|
||||
.peer_get_peer_mac_addr = dp_peer_get_peer_mac_addr,
|
||||
.get_peer_state = dp_get_peer_state,
|
||||
.peer_flush_frags = dp_peer_flush_frags,
|
||||
.set_peer_as_tdls_peer = dp_set_peer_as_tdls_peer,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
新しいイシューから参照
ユーザーをブロックする