From: Wen Gong <wgong@codeaurora.org>
To: Pi-Hsun Shih <pihsun@chromium.org>
Cc: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org
Subject: Re: [PATCH v8 1/4] ath10k: disable TX complete indication of htt for sdio
Date: Wed, 12 Feb 2020 14:47:01 +0800 [thread overview]
Message-ID: <222dd9c33e2afa94cd1ee80c03c7b00d@codeaurora.org> (raw)
In-Reply-To: <CANdKZ0dtnvL66jps41UC+dkybuXA0NMEu=9p2N2T08YDLHb2UQ@mail.gmail.com>
On 2020-02-12 13:31, Pi-Hsun Shih wrote:
> Output as follows:
>
> [ 10.747482] ath10k_sdio mmc1:0001:1: msg_type: 0
> [ 10.749295] ath10k_sdio mmc1:0001:1: htt-ver 3.73 wmi-op 4 htt-op 3
> cal otp max-sta 32 raw 0 hwcrypto 1
> [ 10.752243] Unable to handle kernel paging request at virtual
> address 006b6b6b6b6b6b6b
> [ 10.769674] Mem abort info:
> [ 10.772514] ESR = 0x96000004
> [ 10.775625] Exception class = DABT (current EL), IL = 32 bits
> [ 10.781609] SET = 0, FnV = 0
> [ 10.784699] EA = 0, S1PTW = 0
> [ 10.787889] Data abort info:
> [ 10.790839] ISV = 0, ISS = 0x00000004
> [ 10.794711] CM = 0, WnR = 0
> [ 10.797714] [006b6b6b6b6b6b6b] address between user and kernel
> address ranges
> [ 10.804911] Internal error: Oops: 96000004 [#1] PREEMPT SMP
> [ 10.810488] Modules linked in: asix usbnet mii ath10k_sdio
> ath10k_core ath lzo_rle mac80211 lzo_compress zram cfg80211 joydev
> [ 10.821800] Process kworker/u16:1 (pid: 140, stack limit =
> 0x0000000008a1ed57)
> [ 10.829017] CPU: 4 PID: 140 Comm: kworker/u16:1 Tainted: G W
> 4.19.102 #49
> [ 10.837097] Hardware name: MediaTek krane sku176 board (DT)
> [ 10.842670] Workqueue: ath10k_sdio_wq ath10k_sdio_write_async_work
> [ath10k_sdio]
> [ 10.850059] pstate: 60000005 (nZCv daif -PAN -UAO)
> [ 10.854860] pc : ath10k_htt_htc_tx_complete+0x9c/0x134 [ath10k_core]
> [ 10.861225] lr : ath10k_htt_htc_tx_complete+0x8c/0x134 [ath10k_core]
> [ 10.867568] sp : ffffff800888bc90
> [ 10.870874] x29: ffffff800888bca0 x28: fffffffd69548be8
> [ 10.876177] x27: fffffffd695573f8 x26: fffffffd69548be8
> [ 10.881480] x25: fffffffd742f1e40 x24: fffffffd69556b48
> [ 10.886782] x23: fffffffd69556b10 x22: fffffffd695c7e80
> [ 10.892084] x21: 6b6b6b6b6b6b6b6b x20: fffffffd742f1e40
> [ 10.897386] x19: fffffffd69541960 x18: 0000000000000000
> [ 10.902696] x17: 000000000000003c x16: ffffffa964a7d36c
> [ 10.908004] x15: fffffffd742f3e80 x14: 0000000000000280
> [ 10.913306] x13: 0000000000000001 x12: 0000000000000000
> [ 10.918607] x11: 0000000000000000 x10: 0000000000000000
> [ 10.923908] x9 : 2edc72d89d761200 x8 : 0000000000000001
> [ 10.929209] x7 : bbbbbbbbbbbbbbbb x6 : 0000000000000020
> [ 10.934511] x5 : 000000000000005a x4 : 0000000000000000
> [ 10.939812] x3 : 0000000000000010 x2 : 0000000000000008
> [ 10.945122] x1 : 0000000000000000 x0 : 0000000000000000
> [ 10.950439] Call trace:
> [ 10.952904] ath10k_htt_htc_tx_complete+0x9c/0x134 [ath10k_core]
> [ 10.958918] ath10k_htc_notify_tx_completion+0xe4/0x118
> [ath10k_core]
> [ 10.965366] ath10k_sdio_write_async_work+0x158/0x1f4 [ath10k_sdio]
> [ 10.971637] process_one_work+0x208/0x408
> [ 10.975638] worker_thread+0x23c/0x3e4
> [ 10.979379] kthread+0x120/0x130
> [ 10.982602] ret_from_fork+0x10/0x18
> [ 10.986178] Code: 52820f08 38686a68 340003a8 f9406a95 (394002a8)
> [ 10.992266] ---[ end trace 3ed9b11cd8f60113 ]---
> [ 11.004351] Kernel panic - not syncing: Fatal exception
> [ 11.009586] SMP: stopping secondary CPUs
> [ 11.013519] Kernel Offset: 0x295c200000 from 0xffffff8008000000
> [ 11.019433] CPU features: 0x0,2188200c
> [ 11.023172] Memory Limit: none
Thanks.
I have made change again to fix the panic.
could you try again with this change?
(also apply 30382dd1cf3a141bfaa568ee183c1892090fa79a and ath10k: disable
TX complete indication of htt for sdio)
diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c
b/drivers/net/wireless/ath/ath10k/htt_tx.c
index 51f060a00b95..7bfdeb1298a5 100644
--- a/drivers/net/wireless/ath/ath10k/htt_tx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_tx.c
@@ -554,20 +554,30 @@ void ath10k_htt_htc_tx_complete(struct ath10k *ar,
struct sk_buff *skb)
struct htt_cmd_hdr *htt_hdr;
struct htt_data_tx_desc *desc_hdr;
u16 flags1;
+ u8 msg_type;
+
+ if (htt->disable_tx_comp) {
+ htt_hdr = (struct htt_cmd_hdr *)skb->data;
+ msg_type = htt_hdr->msg_type;
+ ath10k_warn(ar, "msg_type: %d\n", msg_type);
+
+ if (htt_hdr->msg_type == HTT_H2T_MSG_TYPE_TX_FRM) {
+ desc_hdr = (struct htt_data_tx_desc *)
+ (skb->data + sizeof(*htt_hdr));
+ flags1 = __le16_to_cpu(desc_hdr->flags1);
+
+ if (flags1 &
HTT_DATA_TX_DESC_FLAGS1_TX_COMPLETE)
+ ath10k_warn(ar, "htt tx mgmt\n");
+ else
+ ath10k_warn(ar, "htt tx data\n");
+ }
+ }
dev_kfree_skb_any(skb);
- if (!htt->disable_tx_comp)
+ if ((!htt->disable_tx_comp) || (msg_type !=
HTT_H2T_MSG_TYPE_TX_FRM))
return;
- htt_hdr = (struct htt_cmd_hdr *)skb->data;
- if (htt_hdr->msg_type != HTT_H2T_MSG_TYPE_TX_FRM)
- return;
-
- desc_hdr = (struct htt_data_tx_desc *)
- (skb->data + sizeof(*htt_hdr));
- flags1 = __le16_to_cpu(desc_hdr->flags1);
-
ath10k_dbg(ar, ATH10K_DBG_HTT,
"htt tx complete msdu id:%u ,flags1:%x\n",
__le16_to_cpu(desc_hdr->id), flags1);
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
WARNING: multiple messages have this Message-ID (diff)
From: Wen Gong <wgong@codeaurora.org>
To: Pi-Hsun Shih <pihsun@chromium.org>
Cc: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org
Subject: Re: [PATCH v8 1/4] ath10k: disable TX complete indication of htt for sdio
Date: Wed, 12 Feb 2020 14:47:01 +0800 [thread overview]
Message-ID: <222dd9c33e2afa94cd1ee80c03c7b00d@codeaurora.org> (raw)
In-Reply-To: <CANdKZ0dtnvL66jps41UC+dkybuXA0NMEu=9p2N2T08YDLHb2UQ@mail.gmail.com>
On 2020-02-12 13:31, Pi-Hsun Shih wrote:
> Output as follows:
>
> [ 10.747482] ath10k_sdio mmc1:0001:1: msg_type: 0
> [ 10.749295] ath10k_sdio mmc1:0001:1: htt-ver 3.73 wmi-op 4 htt-op 3
> cal otp max-sta 32 raw 0 hwcrypto 1
> [ 10.752243] Unable to handle kernel paging request at virtual
> address 006b6b6b6b6b6b6b
> [ 10.769674] Mem abort info:
> [ 10.772514] ESR = 0x96000004
> [ 10.775625] Exception class = DABT (current EL), IL = 32 bits
> [ 10.781609] SET = 0, FnV = 0
> [ 10.784699] EA = 0, S1PTW = 0
> [ 10.787889] Data abort info:
> [ 10.790839] ISV = 0, ISS = 0x00000004
> [ 10.794711] CM = 0, WnR = 0
> [ 10.797714] [006b6b6b6b6b6b6b] address between user and kernel
> address ranges
> [ 10.804911] Internal error: Oops: 96000004 [#1] PREEMPT SMP
> [ 10.810488] Modules linked in: asix usbnet mii ath10k_sdio
> ath10k_core ath lzo_rle mac80211 lzo_compress zram cfg80211 joydev
> [ 10.821800] Process kworker/u16:1 (pid: 140, stack limit =
> 0x0000000008a1ed57)
> [ 10.829017] CPU: 4 PID: 140 Comm: kworker/u16:1 Tainted: G W
> 4.19.102 #49
> [ 10.837097] Hardware name: MediaTek krane sku176 board (DT)
> [ 10.842670] Workqueue: ath10k_sdio_wq ath10k_sdio_write_async_work
> [ath10k_sdio]
> [ 10.850059] pstate: 60000005 (nZCv daif -PAN -UAO)
> [ 10.854860] pc : ath10k_htt_htc_tx_complete+0x9c/0x134 [ath10k_core]
> [ 10.861225] lr : ath10k_htt_htc_tx_complete+0x8c/0x134 [ath10k_core]
> [ 10.867568] sp : ffffff800888bc90
> [ 10.870874] x29: ffffff800888bca0 x28: fffffffd69548be8
> [ 10.876177] x27: fffffffd695573f8 x26: fffffffd69548be8
> [ 10.881480] x25: fffffffd742f1e40 x24: fffffffd69556b48
> [ 10.886782] x23: fffffffd69556b10 x22: fffffffd695c7e80
> [ 10.892084] x21: 6b6b6b6b6b6b6b6b x20: fffffffd742f1e40
> [ 10.897386] x19: fffffffd69541960 x18: 0000000000000000
> [ 10.902696] x17: 000000000000003c x16: ffffffa964a7d36c
> [ 10.908004] x15: fffffffd742f3e80 x14: 0000000000000280
> [ 10.913306] x13: 0000000000000001 x12: 0000000000000000
> [ 10.918607] x11: 0000000000000000 x10: 0000000000000000
> [ 10.923908] x9 : 2edc72d89d761200 x8 : 0000000000000001
> [ 10.929209] x7 : bbbbbbbbbbbbbbbb x6 : 0000000000000020
> [ 10.934511] x5 : 000000000000005a x4 : 0000000000000000
> [ 10.939812] x3 : 0000000000000010 x2 : 0000000000000008
> [ 10.945122] x1 : 0000000000000000 x0 : 0000000000000000
> [ 10.950439] Call trace:
> [ 10.952904] ath10k_htt_htc_tx_complete+0x9c/0x134 [ath10k_core]
> [ 10.958918] ath10k_htc_notify_tx_completion+0xe4/0x118
> [ath10k_core]
> [ 10.965366] ath10k_sdio_write_async_work+0x158/0x1f4 [ath10k_sdio]
> [ 10.971637] process_one_work+0x208/0x408
> [ 10.975638] worker_thread+0x23c/0x3e4
> [ 10.979379] kthread+0x120/0x130
> [ 10.982602] ret_from_fork+0x10/0x18
> [ 10.986178] Code: 52820f08 38686a68 340003a8 f9406a95 (394002a8)
> [ 10.992266] ---[ end trace 3ed9b11cd8f60113 ]---
> [ 11.004351] Kernel panic - not syncing: Fatal exception
> [ 11.009586] SMP: stopping secondary CPUs
> [ 11.013519] Kernel Offset: 0x295c200000 from 0xffffff8008000000
> [ 11.019433] CPU features: 0x0,2188200c
> [ 11.023172] Memory Limit: none
Thanks.
I have made change again to fix the panic.
could you try again with this change?
(also apply 30382dd1cf3a141bfaa568ee183c1892090fa79a and ath10k: disable
TX complete indication of htt for sdio)
diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c
b/drivers/net/wireless/ath/ath10k/htt_tx.c
index 51f060a00b95..7bfdeb1298a5 100644
--- a/drivers/net/wireless/ath/ath10k/htt_tx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_tx.c
@@ -554,20 +554,30 @@ void ath10k_htt_htc_tx_complete(struct ath10k *ar,
struct sk_buff *skb)
struct htt_cmd_hdr *htt_hdr;
struct htt_data_tx_desc *desc_hdr;
u16 flags1;
+ u8 msg_type;
+
+ if (htt->disable_tx_comp) {
+ htt_hdr = (struct htt_cmd_hdr *)skb->data;
+ msg_type = htt_hdr->msg_type;
+ ath10k_warn(ar, "msg_type: %d\n", msg_type);
+
+ if (htt_hdr->msg_type == HTT_H2T_MSG_TYPE_TX_FRM) {
+ desc_hdr = (struct htt_data_tx_desc *)
+ (skb->data + sizeof(*htt_hdr));
+ flags1 = __le16_to_cpu(desc_hdr->flags1);
+
+ if (flags1 &
HTT_DATA_TX_DESC_FLAGS1_TX_COMPLETE)
+ ath10k_warn(ar, "htt tx mgmt\n");
+ else
+ ath10k_warn(ar, "htt tx data\n");
+ }
+ }
dev_kfree_skb_any(skb);
- if (!htt->disable_tx_comp)
+ if ((!htt->disable_tx_comp) || (msg_type !=
HTT_H2T_MSG_TYPE_TX_FRM))
return;
- htt_hdr = (struct htt_cmd_hdr *)skb->data;
- if (htt_hdr->msg_type != HTT_H2T_MSG_TYPE_TX_FRM)
- return;
-
- desc_hdr = (struct htt_data_tx_desc *)
- (skb->data + sizeof(*htt_hdr));
- flags1 = __le16_to_cpu(desc_hdr->flags1);
-
ath10k_dbg(ar, ATH10K_DBG_HTT,
"htt tx complete msdu id:%u ,flags1:%x\n",
__le16_to_cpu(desc_hdr->id), flags1);
next prev parent reply other threads:[~2020-02-12 6:47 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20191128103030.6429-1-wgong@codeaurora.org>
2019-11-28 10:30 ` [PATCH v8 1/4] ath10k: disable TX complete indication of htt for sdio Wen Gong
2020-02-11 7:03 ` Pi-Hsun Shih
2020-02-11 7:03 ` Pi-Hsun Shih
2020-02-11 9:46 ` Wen Gong
2020-02-11 9:46 ` Wen Gong
2020-02-11 11:11 ` Pi-Hsun Shih
2020-02-11 11:11 ` Pi-Hsun Shih
2020-02-12 4:58 ` Wen Gong
2020-02-12 4:58 ` Wen Gong
2020-02-12 5:31 ` Pi-Hsun Shih
2020-02-12 5:31 ` Pi-Hsun Shih
2020-02-12 6:47 ` Wen Gong [this message]
2020-02-12 6:47 ` Wen Gong
2020-02-12 7:08 ` Pi-Hsun Shih
2020-02-12 7:08 ` Pi-Hsun Shih
2020-02-12 7:31 ` Wen Gong
2020-02-12 7:31 ` Wen Gong
2020-02-12 7:45 ` Pi-Hsun Shih
2020-02-12 7:45 ` Pi-Hsun Shih
2020-02-12 8:09 ` Wen Gong
2020-02-12 8:09 ` Wen Gong
2019-11-28 10:30 ` [PATCH v8 2/4] ath10k: change ATH10K_SDIO_BUS_REQUEST_MAX_NUM from 64 to 1024 Wen Gong
2019-11-28 10:30 ` Wen Gong
2019-11-28 10:30 ` [PATCH v8 1/4] ath10k: disable TX complete indication of htt for sdio Wen Gong
2019-11-28 10:30 ` [PATCH v8 3/4] ath10k: add htt TX bundle " Wen Gong
2019-11-28 10:30 ` [PATCH v8 4/4] ath10k: enable alt data of TX path " Wen Gong
2019-11-28 10:30 ` Wen Gong
2019-11-28 10:30 ` [PATCH v8 3/4] ath10k: add htt TX bundle " Wen Gong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=222dd9c33e2afa94cd1ee80c03c7b00d@codeaurora.org \
--to=wgong@codeaurora.org \
--cc=ath10k@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=pihsun@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.