qcacmn: Add support for new TWT teardown status
Add support for additional TWT teardown status: WMI_HOST_DEL_TWT_STATUS_PEER_INIT_TEARDOWN & WMI_DEL_TWT_STATUS_ROAMING Change-Id: I0764d3a65bfe14afbb0e4dfd513fa92a9235cc21 CRs-Fixed: 2852291
This commit is contained in:

committed by
snandini

parent
b3fafa78c8
commit
0e5b3623ef
@@ -385,17 +385,20 @@ struct wmi_twt_del_dialog_param {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/* status code of deleting TWT dialog
|
/**
|
||||||
* WMI_HOST_DEL_TWT_STATUS_OK: deleting TWT dialog successfully completed
|
* enum WMI_HOST_DEL_TWT_STATUS - status code of deleting TWT dialog
|
||||||
* WMI_HOST_DEL_TWT_STATUS_DIALOG_ID_NOT_EXIST: TWT dialog ID not exists
|
* @WMI_HOST_DEL_TWT_STATUS_OK: deleting TWT dialog successfully completed
|
||||||
* WMI_HOST_DEL_TWT_STATUS_INVALID_PARAM: invalid parameters
|
* @WMI_HOST_DEL_TWT_STATUS_DIALOG_ID_NOT_EXIST: TWT dialog ID not exists
|
||||||
* WMI_HOST_DEL_TWT_STATUS_DIALOG_ID_BUSY: FW is in the process of handling
|
* @WMI_HOST_DEL_TWT_STATUS_INVALID_PARAM: invalid parameters
|
||||||
* this dialog
|
* @WMI_HOST_DEL_TWT_STATUS_DIALOG_ID_BUSY: FW is in the process of handling
|
||||||
* WMI_HOST_DEL_TWT_STATUS_NO_RESOURCE: FW resource exhausted
|
* this dialog
|
||||||
* WMI_HOST_DEL_TWT_STATUS_NO_ACK: peer AP/STA did not ACK the request/response
|
* @WMI_HOST_DEL_TWT_STATUS_NO_RESOURCE: FW resource exhausted
|
||||||
* frame
|
* @WMI_HOST_DEL_TWT_STATUS_NO_ACK: peer AP/STA did not ACK the request/response
|
||||||
* WMI_HOST_DEL_TWT_STATUS_UNKNOWN_ERROR: deleting TWT dialog failed with an
|
* frame
|
||||||
* unknown reason
|
* @WMI_HOST_DEL_TWT_STATUS_UNKNOWN_ERROR: deleting TWT dialog failed with an
|
||||||
|
* unknown reason
|
||||||
|
* @WMI_HOST_DEL_TWT_STATUS_PEER_INIT_TEARDOWN: Peer initiated TWT teardown
|
||||||
|
* @WMI_HOST_DEL_TWT_STATUS_ROAMING: TWT teardown due to roaming.
|
||||||
*/
|
*/
|
||||||
enum WMI_HOST_DEL_TWT_STATUS {
|
enum WMI_HOST_DEL_TWT_STATUS {
|
||||||
WMI_HOST_DEL_TWT_STATUS_OK,
|
WMI_HOST_DEL_TWT_STATUS_OK,
|
||||||
@@ -405,6 +408,8 @@ enum WMI_HOST_DEL_TWT_STATUS {
|
|||||||
WMI_HOST_DEL_TWT_STATUS_NO_RESOURCE,
|
WMI_HOST_DEL_TWT_STATUS_NO_RESOURCE,
|
||||||
WMI_HOST_DEL_TWT_STATUS_NO_ACK,
|
WMI_HOST_DEL_TWT_STATUS_NO_ACK,
|
||||||
WMI_HOST_DEL_TWT_STATUS_UNKNOWN_ERROR,
|
WMI_HOST_DEL_TWT_STATUS_UNKNOWN_ERROR,
|
||||||
|
WMI_HOST_DEL_TWT_STATUS_PEER_INIT_TEARDOWN,
|
||||||
|
WMI_HOST_DEL_TWT_STATUS_ROAMING,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -587,6 +587,35 @@ static QDF_STATUS extract_twt_add_dialog_comp_additional_parameters
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static enum WMI_HOST_DEL_TWT_STATUS
|
||||||
|
wmi_get_converted_twt_del_dialog_status(WMI_DEL_TWT_STATUS_T tgt_status)
|
||||||
|
{
|
||||||
|
switch (tgt_status) {
|
||||||
|
case WMI_DEL_TWT_STATUS_OK:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_OK;
|
||||||
|
case WMI_DEL_TWT_STATUS_DIALOG_ID_NOT_EXIST:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_DIALOG_ID_NOT_EXIST;
|
||||||
|
case WMI_DEL_TWT_STATUS_INVALID_PARAM:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_INVALID_PARAM;
|
||||||
|
case WMI_DEL_TWT_STATUS_DIALOG_ID_BUSY:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_DIALOG_ID_BUSY;
|
||||||
|
case WMI_DEL_TWT_STATUS_NO_RESOURCE:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_NO_RESOURCE;
|
||||||
|
case WMI_DEL_TWT_STATUS_NO_ACK:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_NO_ACK;
|
||||||
|
case WMI_DEL_TWT_STATUS_UNKNOWN_ERROR:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_UNKNOWN_ERROR;
|
||||||
|
case WMI_DEL_TWT_STATUS_PEER_INIT_TEARDOWN:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_PEER_INIT_TEARDOWN;
|
||||||
|
case WMI_DEL_TWT_STATUS_ROAMING:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_ROAMING;
|
||||||
|
default:
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_UNKNOWN_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
return WMI_HOST_DEL_TWT_STATUS_UNKNOWN_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
static QDF_STATUS extract_twt_del_dialog_comp_event_tlv(
|
static QDF_STATUS extract_twt_del_dialog_comp_event_tlv(
|
||||||
wmi_unified_t wmi_handle,
|
wmi_unified_t wmi_handle,
|
||||||
uint8_t *evt_buf,
|
uint8_t *evt_buf,
|
||||||
@@ -606,7 +635,7 @@ static QDF_STATUS extract_twt_del_dialog_comp_event_tlv(
|
|||||||
params->vdev_id = ev->vdev_id;
|
params->vdev_id = ev->vdev_id;
|
||||||
WMI_MAC_ADDR_TO_CHAR_ARRAY(&ev->peer_macaddr, params->peer_macaddr);
|
WMI_MAC_ADDR_TO_CHAR_ARRAY(&ev->peer_macaddr, params->peer_macaddr);
|
||||||
params->dialog_id = ev->dialog_id;
|
params->dialog_id = ev->dialog_id;
|
||||||
params->status = ev->status;
|
params->status = wmi_get_converted_twt_del_dialog_status(ev->status);
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user