qcacmn: Handle user initiate CSA in p2p go+go concurrency
If p2p go+go concurrency exist and g_enable_go_force_scc ini sets to 2(liberal mode) then 1st p2p go channel should move to 2nd p2p go channel after set key. Again, when user initiates CSA to one p2p go then the force SCC doesn't happen to other p2p go. But the expectation is all p2p go should move to same channel which is initiated by user. As part of fix, move all p2p go to same channel when user initiates. Change-Id: I166f459c208f8f88c885a311da7bcd82a64d8b3e CRs-Fixed: 3069743
此提交包含在:
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -80,6 +81,29 @@ if_mgr_ap_stop_bss(struct wlan_objmgr_vdev *vdev,
|
||||
QDF_STATUS
|
||||
if_mgr_ap_stop_bss_complete(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
#ifdef WLAN_FEATURE_P2P_P2P_STA
|
||||
/**
|
||||
* if_mgr_csa_complete() - CSA event complete handler
|
||||
* @vdev: vdev object
|
||||
* @event_data: Interface mgr event data
|
||||
*
|
||||
* Interface manager csa complete event handler
|
||||
*
|
||||
* Context: It should run in thread context
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
if_mgr_csa_complete(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data);
|
||||
#else
|
||||
static inline QDF_STATUS
|
||||
if_mgr_csa_complete(struct wlan_objmgr_vdev *vdev,
|
||||
struct if_mgr_event_data *event_data)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined WLAN_MBSS
|
||||
/**
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -47,6 +48,7 @@
|
||||
* WLAN_IF_MGR_EV_AP_STOP_HT40: Event to handle HT40 scan stop
|
||||
* WLAN_IF_MGR_EV_AP_DONE_HT40: Event to handle HT40 scan completion
|
||||
* WLAN_IF_MGR_EV_AP_CANCEL_HT40: Event to handle HT40 scan cancel
|
||||
* WLAN_IF_MGR_EV_CSA_COMPLETE: Event to handle csa complete
|
||||
*/
|
||||
enum wlan_if_mgr_evt {
|
||||
WLAN_IF_MGR_EV_CONNECT_START = 0,
|
||||
@@ -66,7 +68,8 @@ enum wlan_if_mgr_evt {
|
||||
WLAN_IF_MGR_EV_AP_STOP_HT40 = 14,
|
||||
WLAN_IF_MGR_EV_AP_DONE_HT40 = 15,
|
||||
WLAN_IF_MGR_EV_AP_CANCEL_HT40 = 16,
|
||||
WLAN_IF_MGR_EV_MAX = 17,
|
||||
WLAN_IF_MGR_EV_CSA_COMPLETE = 17,
|
||||
WLAN_IF_MGR_EV_MAX = 18,
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -49,6 +50,7 @@ const char *if_mgr_get_event_str(enum wlan_if_mgr_evt event)
|
||||
CASE_RETURN_STRING(WLAN_IF_MGR_EV_AP_STOP_HT40);
|
||||
CASE_RETURN_STRING(WLAN_IF_MGR_EV_AP_DONE_HT40);
|
||||
CASE_RETURN_STRING(WLAN_IF_MGR_EV_AP_CANCEL_HT40);
|
||||
CASE_RETURN_STRING(WLAN_IF_MGR_EV_CSA_COMPLETE);
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
@@ -153,6 +155,9 @@ QDF_STATUS if_mgr_deliver_event(struct wlan_objmgr_vdev *vdev,
|
||||
case WLAN_IF_MGR_EV_VALIDATE_CANDIDATE:
|
||||
status = if_mgr_validate_candidate(vdev, event_data);
|
||||
break;
|
||||
case WLAN_IF_MGR_EV_CSA_COMPLETE:
|
||||
status = if_mgr_csa_complete(vdev, event_data);
|
||||
break;
|
||||
default:
|
||||
status = if_mgr_deliver_mbss_event(vdev, event, event_data);
|
||||
}
|
||||
|
新增問題並參考
封鎖使用者