|
@@ -2531,7 +2531,7 @@ QDF_STATUS cds_soc_set_hw_mode(uint32_t session_id,
|
|
|
enum hw_mode_bandwidth mac1_bw,
|
|
|
enum hw_mode_dbs_capab dbs,
|
|
|
enum hw_mode_agile_dfs_capab dfs,
|
|
|
- enum cds_conn_update_reason reason)
|
|
|
+ enum sir_conn_update_reason reason)
|
|
|
{
|
|
|
int8_t hw_mode_index;
|
|
|
struct sir_hw_mode msg;
|
|
@@ -2556,8 +2556,8 @@ QDF_STATUS cds_soc_set_hw_mode(uint32_t session_id,
|
|
|
msg.reason = reason;
|
|
|
msg.session_id = session_id;
|
|
|
|
|
|
- cds_info("set hw mode to sme: hw_mode_index: %d",
|
|
|
- msg.hw_mode_index);
|
|
|
+ cds_info("set hw mode to sme: hw_mode_index: %d session:%d reason:%d",
|
|
|
+ msg.hw_mode_index, msg.session_id, msg.reason);
|
|
|
|
|
|
status = sme_soc_set_hw_mode(hdd_ctx->hHal, msg);
|
|
|
if (status != QDF_STATUS_SUCCESS) {
|
|
@@ -3819,7 +3819,7 @@ void cds_dbs_opportunistic_timer_handler(void *data)
|
|
|
* So, session id 0 is ok here.
|
|
|
*/
|
|
|
cds_next_actions(0, action,
|
|
|
- CDS_UPDATE_REASON_OPPORTUNISTIC);
|
|
|
+ SIR_UPDATE_REASON_OPPORTUNISTIC);
|
|
|
}
|
|
|
qdf_mutex_release(&cds_ctx->qdf_conc_list_lock);
|
|
|
|
|
@@ -5557,7 +5557,7 @@ enum cds_two_connection_mode cds_get_third_connection_pcl_table_index(void)
|
|
|
*/
|
|
|
QDF_STATUS cds_current_connections_update(uint32_t session_id,
|
|
|
uint8_t channel,
|
|
|
- enum cds_conn_update_reason reason)
|
|
|
+ enum sir_conn_update_reason reason)
|
|
|
{
|
|
|
enum cds_conc_next_action next_action = CDS_NOP;
|
|
|
uint32_t num_connections = 0;
|
|
@@ -5711,6 +5711,7 @@ bool cds_wait_for_nss_update(uint8_t action)
|
|
|
* @vdev_id: vdev id for the specific connection
|
|
|
* @next_action: next action to happen at policy mgr after
|
|
|
* beacon update
|
|
|
+ * @reason: Reason for nss update
|
|
|
*
|
|
|
* This function is the callback registered with SME at nss
|
|
|
* update request time
|
|
@@ -5718,7 +5719,8 @@ bool cds_wait_for_nss_update(uint8_t action)
|
|
|
* Return: None
|
|
|
*/
|
|
|
void cds_nss_update_cb(void *context, uint8_t tx_status, uint8_t vdev_id,
|
|
|
- uint8_t next_action)
|
|
|
+ uint8_t next_action,
|
|
|
+ enum sir_conn_update_reason reason)
|
|
|
{
|
|
|
cds_context_type *cds_ctx;
|
|
|
uint32_t conn_index = 0;
|
|
@@ -5760,10 +5762,13 @@ void cds_nss_update_cb(void *context, uint8_t tx_status, uint8_t vdev_id,
|
|
|
cds_err("unexpected action %d", next_action);
|
|
|
break;
|
|
|
}
|
|
|
+
|
|
|
+ cds_debug("vdev:%d wait:%d", vdev_id, wait);
|
|
|
+
|
|
|
if (!wait)
|
|
|
cds_next_actions(vdev_id,
|
|
|
next_action,
|
|
|
- CDS_UPDATE_REASON_NSS_UPDATE);
|
|
|
+ reason);
|
|
|
qdf_mutex_release(&cds_ctx->qdf_conc_list_lock);
|
|
|
return;
|
|
|
}
|
|
@@ -5785,7 +5790,7 @@ void cds_nss_update_cb(void *context, uint8_t tx_status, uint8_t vdev_id,
|
|
|
* Return: QDF_STATUS enum
|
|
|
*/
|
|
|
QDF_STATUS cds_complete_action(uint8_t new_nss, uint8_t next_action,
|
|
|
- enum cds_conn_update_reason reason,
|
|
|
+ enum sir_conn_update_reason reason,
|
|
|
uint32_t session_id)
|
|
|
{
|
|
|
QDF_STATUS status = QDF_STATUS_E_FAILURE;
|
|
@@ -5826,7 +5831,7 @@ QDF_STATUS cds_complete_action(uint8_t new_nss, uint8_t next_action,
|
|
|
conc_connection_list
|
|
|
[list[index]].vdev_id, new_nss,
|
|
|
cds_nss_update_cb,
|
|
|
- next_action, hdd_ctx);
|
|
|
+ next_action, hdd_ctx, reason);
|
|
|
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
|
|
cds_err("sme_nss_update_request() failed for vdev %d",
|
|
|
conc_connection_list[list[index]].vdev_id);
|
|
@@ -5844,7 +5849,7 @@ QDF_STATUS cds_complete_action(uint8_t new_nss, uint8_t next_action,
|
|
|
conc_connection_list
|
|
|
[list[index]].vdev_id, new_nss,
|
|
|
cds_nss_update_cb,
|
|
|
- next_action, hdd_ctx);
|
|
|
+ next_action, hdd_ctx, reason);
|
|
|
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
|
|
cds_err("sme_nss_update_request() failed for vdev %d",
|
|
|
conc_connection_list[list[index]].vdev_id);
|
|
@@ -5875,7 +5880,7 @@ QDF_STATUS cds_complete_action(uint8_t new_nss, uint8_t next_action,
|
|
|
*/
|
|
|
QDF_STATUS cds_next_actions(uint32_t session_id,
|
|
|
enum cds_conc_next_action action,
|
|
|
- enum cds_conn_update_reason reason)
|
|
|
+ enum sir_conn_update_reason reason)
|
|
|
{
|
|
|
QDF_STATUS status = QDF_STATUS_E_FAILURE;
|
|
|
struct sir_hw_mode_params hw_mode;
|
|
@@ -6607,7 +6612,7 @@ QDF_STATUS cds_handle_conc_multiport(uint8_t session_id, uint8_t channel)
|
|
|
|
|
|
status = cds_current_connections_update(session_id,
|
|
|
channel,
|
|
|
- CDS_UPDATE_REASON_NORMAL_STA);
|
|
|
+ SIR_UPDATE_REASON_NORMAL_STA);
|
|
|
if (QDF_STATUS_E_FAILURE == status) {
|
|
|
cds_err("connections update failed");
|
|
|
return status;
|
|
@@ -8076,7 +8081,7 @@ QDF_STATUS cds_handle_hw_mode_change_on_csa(uint16_t session_id,
|
|
|
* 2. Do vdev restart on the new channel (on getting hw mode resp)
|
|
|
*/
|
|
|
status = cds_next_actions(session_id, action,
|
|
|
- CDS_UPDATE_REASON_CHANNEL_SWITCH_STA);
|
|
|
+ SIR_UPDATE_REASON_CHANNEL_SWITCH_STA);
|
|
|
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
|
|
cds_err("no set hw mode command was issued");
|
|
|
/* Proceed with processing csa params. So, not freeing it */
|