diff options
author | Kalle Valo <kvalo@qca.qualcomm.com> | 2011-09-27 07:31:21 -0400 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2011-09-28 12:27:31 -0400 |
commit | b9b6ee603923be45c4022a0dce5fa8ccf4284524 (patch) | |
tree | 7b0a4e189353484ed072b205e2f0b7e8313f18f5 | |
parent | 6bc364315aac6ab256ce3cdc00aa90cb57279a1f (diff) |
ath6kl: improve wmi debug messages
Add a new debug level ATH6KL_DBG_WMI_DUMP and other minor
improvements to the wmi debug messages.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/debug.h | 3 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/wmi.c | 44 |
2 files changed, 37 insertions, 10 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/debug.h b/drivers/net/wireless/ath/ath6kl/debug.h index 0fbb0ac2de23..9288a3ce1e39 100644 --- a/drivers/net/wireless/ath/ath6kl/debug.h +++ b/drivers/net/wireless/ath/ath6kl/debug.h | |||
@@ -34,11 +34,12 @@ enum ATH6K_DEBUG_MASK { | |||
34 | ATH6KL_DBG_TRC = BIT(11), /* generic func tracing */ | 34 | ATH6KL_DBG_TRC = BIT(11), /* generic func tracing */ |
35 | ATH6KL_DBG_SCATTER = BIT(12), /* hif scatter tracing */ | 35 | ATH6KL_DBG_SCATTER = BIT(12), /* hif scatter tracing */ |
36 | ATH6KL_DBG_WLAN_CFG = BIT(13), /* cfg80211 i/f file tracing */ | 36 | ATH6KL_DBG_WLAN_CFG = BIT(13), /* cfg80211 i/f file tracing */ |
37 | ATH6KL_DBG_RAW_BYTES = BIT(14), /* dump tx/rx and wmi frames */ | 37 | ATH6KL_DBG_RAW_BYTES = BIT(14), /* dump tx/rx frames */ |
38 | ATH6KL_DBG_AGGR = BIT(15), /* aggregation */ | 38 | ATH6KL_DBG_AGGR = BIT(15), /* aggregation */ |
39 | ATH6KL_DBG_SDIO = BIT(16), | 39 | ATH6KL_DBG_SDIO = BIT(16), |
40 | ATH6KL_DBG_SDIO_DUMP = BIT(17), | 40 | ATH6KL_DBG_SDIO_DUMP = BIT(17), |
41 | ATH6KL_DBG_BOOT = BIT(18), /* driver init and fw boot */ | 41 | ATH6KL_DBG_BOOT = BIT(18), /* driver init and fw boot */ |
42 | ATH6KL_DBG_WMI_DUMP = BIT(19), | ||
42 | ATH6KL_DBG_ANY = 0xffffffff /* enable all logs */ | 43 | ATH6KL_DBG_ANY = 0xffffffff /* enable all logs */ |
43 | }; | 44 | }; |
44 | 45 | ||
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.c b/drivers/net/wireless/ath/ath6kl/wmi.c index 785a8c72541b..a7de23cbd2c7 100644 --- a/drivers/net/wireless/ath/ath6kl/wmi.c +++ b/drivers/net/wireless/ath/ath6kl/wmi.c | |||
@@ -721,8 +721,12 @@ static int ath6kl_wmi_connect_event_rx(struct wmi *wmi, u8 *datap, int len) | |||
721 | 721 | ||
722 | /* STA/IBSS mode connection event */ | 722 | /* STA/IBSS mode connection event */ |
723 | 723 | ||
724 | ath6kl_dbg(ATH6KL_DBG_WMI, "%s: freq %d bssid %pM\n", | 724 | ath6kl_dbg(ATH6KL_DBG_WMI, |
725 | __func__, le16_to_cpu(ev->u.sta.ch), ev->u.sta.bssid); | 725 | "wmi event connect freq %d bssid %pM listen_intvl %d beacon_intvl %d type %d\n", |
726 | le16_to_cpu(ev->u.sta.ch), ev->u.sta.bssid, | ||
727 | le16_to_cpu(ev->u.sta.listen_intvl), | ||
728 | le16_to_cpu(ev->u.sta.beacon_intvl), | ||
729 | le32_to_cpu(ev->u.sta.nw_type)); | ||
726 | 730 | ||
727 | /* Start of assoc rsp IEs */ | 731 | /* Start of assoc rsp IEs */ |
728 | pie = ev->assoc_info + ev->beacon_ie_len + | 732 | pie = ev->assoc_info + ev->beacon_ie_len + |
@@ -822,7 +826,7 @@ static void ath6kl_wmi_regdomain_event(struct wmi *wmi, u8 *datap, int len) | |||
822 | 826 | ||
823 | regpair = ath6kl_get_regpair((u16) reg_code); | 827 | regpair = ath6kl_get_regpair((u16) reg_code); |
824 | country = ath6kl_regd_find_country_by_rd((u16) reg_code); | 828 | country = ath6kl_regd_find_country_by_rd((u16) reg_code); |
825 | ath6kl_dbg(ATH6KL_DBG_WMI, "ath6kl: Regpair used: 0x%0x\n", | 829 | ath6kl_dbg(ATH6KL_DBG_WMI, "Regpair used: 0x%0x\n", |
826 | regpair->regDmnEnum); | 830 | regpair->regDmnEnum); |
827 | } | 831 | } |
828 | 832 | ||
@@ -832,7 +836,7 @@ static void ath6kl_wmi_regdomain_event(struct wmi *wmi, u8 *datap, int len) | |||
832 | 836 | ||
833 | regulatory_hint(wmi->parent_dev->wdev->wiphy, alpha2); | 837 | regulatory_hint(wmi->parent_dev->wdev->wiphy, alpha2); |
834 | 838 | ||
835 | ath6kl_dbg(ATH6KL_DBG_WMI, "ath6kl: Country alpha2 being used: %c%c\n", | 839 | ath6kl_dbg(ATH6KL_DBG_WMI, "Country alpha2 being used: %c%c\n", |
836 | alpha2[0], alpha2[1]); | 840 | alpha2[0], alpha2[1]); |
837 | } | 841 | } |
838 | } | 842 | } |
@@ -847,6 +851,11 @@ static int ath6kl_wmi_disconnect_event_rx(struct wmi *wmi, u8 *datap, int len) | |||
847 | 851 | ||
848 | ev = (struct wmi_disconnect_event *) datap; | 852 | ev = (struct wmi_disconnect_event *) datap; |
849 | 853 | ||
854 | ath6kl_dbg(ATH6KL_DBG_WMI, | ||
855 | "wmi event disconnect proto_reason %d bssid %pM wmi_reason %d assoc_resp_len %d\n", | ||
856 | le16_to_cpu(ev->proto_reason_status), ev->bssid, | ||
857 | ev->disconn_reason, ev->assoc_resp_len); | ||
858 | |||
850 | wmi->is_wmm_enabled = false; | 859 | wmi->is_wmm_enabled = false; |
851 | wmi->pair_crypto_type = NONE_CRYPT; | 860 | wmi->pair_crypto_type = NONE_CRYPT; |
852 | wmi->grp_crypto_type = NONE_CRYPT; | 861 | wmi->grp_crypto_type = NONE_CRYPT; |
@@ -1526,11 +1535,14 @@ int ath6kl_wmi_cmd_send(struct wmi *wmi, struct sk_buff *skb, | |||
1526 | enum htc_endpoint_id ep_id = wmi->ep_id; | 1535 | enum htc_endpoint_id ep_id = wmi->ep_id; |
1527 | int ret; | 1536 | int ret; |
1528 | 1537 | ||
1529 | ath6kl_dbg(ATH6KL_DBG_WMI, "%s: cmd_id=%d\n", __func__, cmd_id); | ||
1530 | |||
1531 | if (WARN_ON(skb == NULL)) | 1538 | if (WARN_ON(skb == NULL)) |
1532 | return -EINVAL; | 1539 | return -EINVAL; |
1533 | 1540 | ||
1541 | ath6kl_dbg(ATH6KL_DBG_WMI, "wmi tx id %d len %d flag %d\n", | ||
1542 | cmd_id, skb->len, sync_flag); | ||
1543 | ath6kl_dbg_dump(ATH6KL_DBG_WMI_DUMP, NULL, "wmi tx ", | ||
1544 | skb->data, skb->len); | ||
1545 | |||
1534 | if (sync_flag >= END_WMIFLAG) { | 1546 | if (sync_flag >= END_WMIFLAG) { |
1535 | dev_kfree_skb(skb); | 1547 | dev_kfree_skb(skb); |
1536 | return -EINVAL; | 1548 | return -EINVAL; |
@@ -1589,6 +1601,13 @@ int ath6kl_wmi_connect_cmd(struct wmi *wmi, enum network_type nw_type, | |||
1589 | struct wmi_connect_cmd *cc; | 1601 | struct wmi_connect_cmd *cc; |
1590 | int ret; | 1602 | int ret; |
1591 | 1603 | ||
1604 | ath6kl_dbg(ATH6KL_DBG_WMI, | ||
1605 | "wmi connect bssid %pM freq %d flags 0x%x ssid_len %d " | ||
1606 | "type %d dot11_auth %d auth %d pairwise %d group %d\n", | ||
1607 | bssid, channel, ctrl_flags, ssid_len, nw_type, | ||
1608 | dot11_auth_mode, auth_mode, pairwise_crypto, group_crypto); | ||
1609 | ath6kl_dbg_dump(ATH6KL_DBG_WMI, NULL, "ssid ", ssid, ssid_len); | ||
1610 | |||
1592 | wmi->traffic_class = 100; | 1611 | wmi->traffic_class = 100; |
1593 | 1612 | ||
1594 | if ((pairwise_crypto == NONE_CRYPT) && (group_crypto != NONE_CRYPT)) | 1613 | if ((pairwise_crypto == NONE_CRYPT) && (group_crypto != NONE_CRYPT)) |
@@ -1634,6 +1653,9 @@ int ath6kl_wmi_reconnect_cmd(struct wmi *wmi, u8 *bssid, u16 channel) | |||
1634 | struct wmi_reconnect_cmd *cc; | 1653 | struct wmi_reconnect_cmd *cc; |
1635 | int ret; | 1654 | int ret; |
1636 | 1655 | ||
1656 | ath6kl_dbg(ATH6KL_DBG_WMI, "wmi reconnect bssid %pM freq %d\n", | ||
1657 | bssid, channel); | ||
1658 | |||
1637 | wmi->traffic_class = 100; | 1659 | wmi->traffic_class = 100; |
1638 | 1660 | ||
1639 | skb = ath6kl_wmi_get_new_buf(sizeof(struct wmi_reconnect_cmd)); | 1661 | skb = ath6kl_wmi_get_new_buf(sizeof(struct wmi_reconnect_cmd)); |
@@ -1656,6 +1678,8 @@ int ath6kl_wmi_disconnect_cmd(struct wmi *wmi) | |||
1656 | { | 1678 | { |
1657 | int ret; | 1679 | int ret; |
1658 | 1680 | ||
1681 | ath6kl_dbg(ATH6KL_DBG_WMI, "wmi disconnect\n"); | ||
1682 | |||
1659 | wmi->traffic_class = 100; | 1683 | wmi->traffic_class = 100; |
1660 | 1684 | ||
1661 | /* Disconnect command does not need to do a SYNC before. */ | 1685 | /* Disconnect command does not need to do a SYNC before. */ |
@@ -2808,12 +2832,14 @@ static int ath6kl_wmi_control_rx_xtnd(struct wmi *wmi, struct sk_buff *skb) | |||
2808 | 2832 | ||
2809 | switch (id) { | 2833 | switch (id) { |
2810 | case WMIX_HB_CHALLENGE_RESP_EVENTID: | 2834 | case WMIX_HB_CHALLENGE_RESP_EVENTID: |
2835 | ath6kl_dbg(ATH6KL_DBG_WMI, "wmi event hb challenge resp\n"); | ||
2811 | break; | 2836 | break; |
2812 | case WMIX_DBGLOG_EVENTID: | 2837 | case WMIX_DBGLOG_EVENTID: |
2838 | ath6kl_dbg(ATH6KL_DBG_WMI, "wmi event dbglog len %d\n", len); | ||
2813 | ath6kl_debug_fwlog_event(wmi->parent_dev, datap, len); | 2839 | ath6kl_debug_fwlog_event(wmi->parent_dev, datap, len); |
2814 | break; | 2840 | break; |
2815 | default: | 2841 | default: |
2816 | ath6kl_err("unknown cmd id 0x%x\n", id); | 2842 | ath6kl_warn("unknown cmd id 0x%x\n", id); |
2817 | wmi->stat.cmd_id_err++; | 2843 | wmi->stat.cmd_id_err++; |
2818 | ret = -EINVAL; | 2844 | ret = -EINVAL; |
2819 | break; | 2845 | break; |
@@ -2849,8 +2875,8 @@ int ath6kl_wmi_control_rx(struct wmi *wmi, struct sk_buff *skb) | |||
2849 | datap = skb->data; | 2875 | datap = skb->data; |
2850 | len = skb->len; | 2876 | len = skb->len; |
2851 | 2877 | ||
2852 | ath6kl_dbg(ATH6KL_DBG_WMI, "%s: wmi id: %d\n", __func__, id); | 2878 | ath6kl_dbg(ATH6KL_DBG_WMI, "wmi rx id %d len %d\n", id, len); |
2853 | ath6kl_dbg_dump(ATH6KL_DBG_RAW_BYTES, "msg payload ", "wmi rx ", | 2879 | ath6kl_dbg_dump(ATH6KL_DBG_WMI_DUMP, NULL, "wmi rx ", |
2854 | datap, len); | 2880 | datap, len); |
2855 | 2881 | ||
2856 | switch (id) { | 2882 | switch (id) { |