/** * wlan_report_log_completion() - Report bug report completion to userspace * @is_fatal: Type of event, fatal or not * @indicator: Source of bug report, framework/host/firmware * @reason_code: Reason for triggering bug report * * This function is used to report the bug report completion to userspace * * Return: None */ void wlan_report_log_completion(uint32_t is_fatal, uint32_t indicator, uint32_t reason_code) { WLAN_VOS_DIAG_EVENT_DEF(wlan_diag_event, struct vos_event_wlan_log_complete); wlan_diag_event.is_fatal = is_fatal; wlan_diag_event.indicator = indicator; wlan_diag_event.reason_code = reason_code; wlan_diag_event.reserved = 0; WLAN_VOS_DIAG_EVENT_REPORT(&wlan_diag_event, EVENT_WLAN_LOG_COMPLETE); }
/** * vos_tdls_tx_rx_mgmt_event()- send tdls mgmt rx tx event * @event_id: event id * @tx_rx: tx or rx * @type: type of frame * @action_sub_type: action frame type * @peer_mac: peer mac * * This Function sends tdls mgmt rx tx diag event * * Return: void. */ void vos_tdls_tx_rx_mgmt_event(uint8_t event_id, uint8_t tx_rx, uint8_t type, uint8_t action_sub_type, uint8_t *peer_mac) { WLAN_VOS_DIAG_EVENT_DEF(tdls_tx_rx_mgmt, struct vos_event_tdls_tx_rx_mgmt); vos_mem_zero(&tdls_tx_rx_mgmt, sizeof(tdls_tx_rx_mgmt)); tdls_tx_rx_mgmt.event_id = event_id; tdls_tx_rx_mgmt.tx_rx = tx_rx; tdls_tx_rx_mgmt.type = type; tdls_tx_rx_mgmt.action_sub_type = action_sub_type; vos_mem_copy(tdls_tx_rx_mgmt.peer_mac, peer_mac, VOS_MAC_ADDR_SIZE); WLAN_VOS_DIAG_EVENT_REPORT(&tdls_tx_rx_mgmt, EVENT_WLAN_TDLS_TX_RX_MGMT); }
/** * vos_log_wlock_diag() - This function is used to send wake lock diag events * @reason: Reason why the wakelock was taken or released * @wake_lock_name: Function in which the wakelock was taken or released * @timeout: Timeout value in case of timed wakelocks * @status: Status field indicating whether the wake lock was taken/released * * This function is used to send wake lock diag events to user space * * Return: None * */ void vos_log_wlock_diag(uint32_t reason, const char *wake_lock_name, uint32_t timeout, uint32_t status) { WLAN_VOS_DIAG_EVENT_DEF(wlan_diag_event, struct vos_event_wlan_wake_lock); if (nl_srv_is_initialized() != 0) return; wlan_diag_event.status = status; wlan_diag_event.reason = reason; wlan_diag_event.timeout = timeout; wlan_diag_event.name_len = strlen(wake_lock_name); strlcpy(&wlan_diag_event.name[0], wake_lock_name, wlan_diag_event.name_len+1); WLAN_VOS_DIAG_EVENT_REPORT(&wlan_diag_event, EVENT_WLAN_WAKE_LOCK); }