diff --git a/drivers/net/wireless/ath/ath11k/reg.c b/drivers/net/wireless/ath/ath11k/reg.c index 772da6d..f49e5d6 100644 --- a/drivers/net/wireless/ath/ath11k/reg.c +++ b/drivers/net/wireless/ath/ath11k/reg.c @@ -63,24 +64,29 @@ ath11k_reg_notifier(struct wiphy *wiphy, struct regulatory_request *request) return; } + printk("%s:%u\n", __func__, __LINE__); if (!IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_REG_HINTS)) { ath11k_dbg(ar->ab, ATH11K_DBG_REG, "Country Setting is not allowed\n"); return; } + printk("%s:%u\n", __func__, __LINE__); if (!ath11k_regdom_changes(ar, request->alpha2)) { ath11k_dbg(ar->ab, ATH11K_DBG_REG, "Country is already set\n"); return; } + printk("%s:%u\n", __func__, __LINE__); /* Set the country code to the firmware and wait for * the WMI_REG_CHAN_LIST_CC EVENT for updating the * reg info */ init_country_param.flags = ALPHA_IS_SET; memcpy(&init_country_param.cc_info.alpha2, request->alpha2, 2); + init_country_param.cc_info.alpha2[2] = 0; + printk("%s:%u\n", __func__, __LINE__); ret = ath11k_wmi_send_init_country_cmd(ar, init_country_param); if (ret) ath11k_warn(ar->ab, diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c index 0762cbc..b62fed0 100644 --- a/drivers/net/wireless/ath/ath11k/wmi.c +++ b/drivers/net/wireless/ath/ath11k/wmi.c @@ -3110,42 +3110,55 @@ ath11k_wmi_send_init_country_cmd(struct ath11k *ar, struct sk_buff *skb; int ret; + printk("%s:%u\n", __func__, __LINE__); skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, sizeof(*cmd)); if (!skb) return -ENOMEM; + printk("%s:%u\n", __func__, __LINE__); cmd = (struct wmi_init_country_cmd *)skb->data; cmd->tlv_header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_SET_INIT_COUNTRY_CMD) | FIELD_PREP(WMI_TLV_LEN, sizeof(*cmd) - TLV_HDR_SIZE); + printk("%s:%u\n", __func__, __LINE__); cmd->pdev_id = ar->pdev->pdev_id; + printk("%s:%u\n", __func__, __LINE__); switch (init_cc_params.flags) { case ALPHA_IS_SET: cmd->init_cc_type = WMI_COUNTRY_INFO_TYPE_ALPHA; memcpy((u8 *)&cmd->cc_info.alpha2, init_cc_params.cc_info.alpha2, 3); + printk("%s:%u %s\n", __func__, __LINE__, init_cc_params.cc_info.alpha2); break; case CC_IS_SET: + printk("%s:%u\n", __func__, __LINE__); cmd->init_cc_type = WMI_COUNTRY_INFO_TYPE_COUNTRY_CODE; cmd->cc_info.country_code = init_cc_params.cc_info.country_code; break; case REGDMN_IS_SET: + printk("%s:%u\n", __func__, __LINE__); cmd->init_cc_type = WMI_COUNTRY_INFO_TYPE_REGDOMAIN; cmd->cc_info.regdom_id = init_cc_params.cc_info.regdom_id; break; default: + printk("%s:%u\n", __func__, __LINE__); ret = -EINVAL; goto out; } + print_hex_dump(KERN_CRIT, "", DUMP_PREFIX_OFFSET, + 16, 1, cmd, sizeof(*cmd), false); + printk("%s:%u\n", __func__, __LINE__); ret = ath11k_wmi_cmd_send(wmi, skb, WMI_SET_INIT_COUNTRY_CMDID); + printk("%s:%u\n", __func__, __LINE__); out: if (ret) { + printk("%s:%u\n", __func__, __LINE__); ath11k_warn(ar->ab, "failed to send WMI_SET_INIT_COUNTRY CMD :%d\n", ret); @@ -4551,7 +4564,8 @@ static int ath11k_pull_reg_chan_list_update_ev(struct ath11k_base *ab, int ret; ath11k_dbg(ab, ATH11K_DBG_WMI, "processing regulatory channel list\n"); - + print_hex_dump(KERN_CRIT, "", DUMP_PREFIX_OFFSET, + 16, 1, skb->data, skb->len, false); tb = ath11k_wmi_tlv_parse_alloc(ab, skb->data, skb->len, GFP_ATOMIC); if (IS_ERR(tb)) { ret = PTR_ERR(tb);