/* * Process all the Netlink messages from Logger Socket app in user space */ static int wlan_logging_proc_sock_rx_msg(struct sk_buff *skb) { tAniNlHdr *wnl; int radio; int type; int ret; wnl = (tAniNlHdr *) skb->data; radio = wnl->radio; type = wnl->nlh.nlmsg_type; if (radio < 0 || radio > ANI_MAX_RADIOS) { LOGGING_TRACE(VOS_TRACE_LEVEL_ERROR, "%s: invalid radio id [%d]\n", __func__, radio); return -EINVAL; } if (gapp_pid != INVALID_PID) { if (wnl->nlh.nlmsg_pid > gapp_pid) { gapp_pid = wnl->nlh.nlmsg_pid; } spin_lock_bh(&gwlan_logging.spin_lock); if (gwlan_logging.pcur_node->filled_length) { wlan_queue_logmsg_for_app(); } spin_unlock_bh(&gwlan_logging.spin_lock); gwlan_logging.wakeEvent = TRUE; wake_up_interruptible(&gwlan_logging.wait_queue); } else { /* This is to set the default levels (WLAN logging * default values not the VOS trace default) when * logger app is registered for the first time. */ gapp_pid = wnl->nlh.nlmsg_pid; set_default_logtoapp_log_level(); } ret = wlan_send_sock_msg_to_app(&wnl->wmsg, 0, ANI_NL_MSG_LOG, wnl->nlh.nlmsg_pid); if (ret < 0) { LOGGING_TRACE(VOS_TRACE_LEVEL_ERROR, "wlan_send_sock_msg_to_app: failed"); } return ret; }
/** * wlan_logging_set_log_level() - Set the logging level * * This function is used to set the logging level of host debug messages * * Return: None */ void wlan_logging_set_log_level(void) { set_default_logtoapp_log_level(); }