From: Wen Gong <wgong@codeaurora.org>
To: bartosz.markowski@tieto.com, ath10k@lists.infradead.org
Subject: Re: [v2,08/13] ath10k: bring back the WMI path for mgmt frames
Date: Thu, 18 Jun 2020 16:53:12 +0800 [thread overview]
Message-ID: <5f4d61bf9447826178a7f3f554e1e9d3@codeaurora.org> (raw)
In-Reply-To: <12d316171b15203f0242a13d5c690687@codeaurora.org>
On 2020-06-18 12:09, Wen Gong wrote:
> On 2020-06-17 16:25, Wen Gong wrote:
>>> +
>>> + skb_queue_tail(&ar->wmi_mgmt_tx_queue, skb);
>>> + ieee80211_queue_work(ar->hw, &ar->wmi_mgmt_tx_work);
>> https://patchwork.kernel.org/patch/2947291/
>> (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e00d31a0fb74c36f3b174ff0d4914cf09016e6f)
>>
>> Do you know why this patch used ieee80211_queue_work, not use "struct
>> workqueue_struct *workqueue" of ath10k?
> No one know it?
ieee80211_queue_work is use local->workqueue of ieee80211_hw, if it is
blocked by some function of
mac80211 which is wait some mutex, then the pending worker of the queue
from ath10k will not be
executed again, this is a risk of not using workqueue of ath10k.
I have hit issue about this:
cfg80211_leave called wdev_lock(wdev) to occupy lock, then
ieee80211_sta_rx_queued_mgmt which is running in
local->workqueue of ieee80211_hw acquire the same lock by function
sdata_lock(sdata), then it entered wait state
and the workqueue of ieee80211_hw blocked and all pending worker of it
can not executed.
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
next prev parent reply other threads:[~2020-06-18 8:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-17 8:25 [v2,08/13] ath10k: bring back the WMI path for mgmt frames Wen Gong
2020-06-18 4:09 ` Wen Gong
2020-06-18 8:53 ` Wen Gong [this message]
2020-06-23 11:48 ` Kalle Valo
2020-06-24 1:44 ` 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=5f4d61bf9447826178a7f3f554e1e9d3@codeaurora.org \
--to=wgong@codeaurora.org \
--cc=ath10k@lists.infradead.org \
--cc=bartosz.markowski@tieto.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox