All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@qca.qualcomm.com>
To: Michal Kazior <michal.kazior@tieto.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
	"ath10k@lists.infradead.org" <ath10k@lists.infradead.org>
Subject: Re: [PATCH v3 4/8] ath10k: bypass htc for htt tx path
Date: Fri, 28 Feb 2014 11:28:23 +0200	[thread overview]
Message-ID: <87txbjbn7s.fsf@kamboji.qca.qualcomm.com> (raw)
In-Reply-To: <CA+BoTQn8GTu3A4LdRGtpJeVr0SnaApTwnNZAoZ8=3Vj5qF+W=g@mail.gmail.com> (Michal Kazior's message of "Fri, 28 Feb 2014 10:15:20 +0100")

Michal Kazior <michal.kazior@tieto.com> writes:

> On 28 February 2014 10:06, Kalle Valo <kvalo@qca.qualcomm.com> wrote:
>> Michal Kazior <michal.kazior@tieto.com> writes:
>>
>>> --- a/drivers/net/wireless/ath/ath10k/htc.c
>>> +++ b/drivers/net/wireless/ath/ath10k/htc.c
>>> @@ -202,10 +202,8 @@ static int ath10k_htc_tx_completion_handler(struct ath10k *ar,
>>>       struct ath10k_htc *htc = &ar->htc;
>>>       struct ath10k_htc_ep *ep = &htc->endpoint[eid];
>>>
>>> -     if (!skb) {
>>> -             ath10k_warn("invalid sk_buff completion - NULL pointer. firmware crashed?\n");
>>> +     if (WARN_ON(!skb))
>>>               return 0;
>>> -     }
>>
>> WARN_ON() is a bit dangerous here as it might cause excessive spamming.
>> Why did you want to change this? I think either ath10k_warn() or
>> WARN_ON_ONCE() would be safer, but not sure which one to use.
>
> After the scatter-gather patch no NULL skb should be ever passed to tx
> completion handler as those are ignored by hif/pci.

Sure. But that's just theory, in practise all sorts bugs can always
happen :)

> Perhaps the hunk should be moved from this patch to the scatter-gather
> one.

Nah, I don't think that's necessary.

> Perhaps WARN_ON() is a bit over the top here, but since this is now
> more of a logic issue rather than runtime issue I decided to change it
> from ath10k_warn to WARN_ON(). It's probably still a good idea to make
> it _ONCE generally, although if you actually get skbuff it's already
> too late or it should be screaming loudly because someone must've
> changed the code in an incorrect/incomplete way.

So I change it to WARN_ON_ONCE(), ok?

-- 
Kalle Valo

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

WARNING: multiple messages have this Message-ID (diff)
From: Kalle Valo <kvalo@qca.qualcomm.com>
To: Michal Kazior <michal.kazior@tieto.com>
Cc: "ath10k@lists.infradead.org" <ath10k@lists.infradead.org>,
	linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH v3 4/8] ath10k: bypass htc for htt tx path
Date: Fri, 28 Feb 2014 11:28:23 +0200	[thread overview]
Message-ID: <87txbjbn7s.fsf@kamboji.qca.qualcomm.com> (raw)
In-Reply-To: <CA+BoTQn8GTu3A4LdRGtpJeVr0SnaApTwnNZAoZ8=3Vj5qF+W=g@mail.gmail.com> (Michal Kazior's message of "Fri, 28 Feb 2014 10:15:20 +0100")

Michal Kazior <michal.kazior@tieto.com> writes:

> On 28 February 2014 10:06, Kalle Valo <kvalo@qca.qualcomm.com> wrote:
>> Michal Kazior <michal.kazior@tieto.com> writes:
>>
>>> --- a/drivers/net/wireless/ath/ath10k/htc.c
>>> +++ b/drivers/net/wireless/ath/ath10k/htc.c
>>> @@ -202,10 +202,8 @@ static int ath10k_htc_tx_completion_handler(struct ath10k *ar,
>>>       struct ath10k_htc *htc = &ar->htc;
>>>       struct ath10k_htc_ep *ep = &htc->endpoint[eid];
>>>
>>> -     if (!skb) {
>>> -             ath10k_warn("invalid sk_buff completion - NULL pointer. firmware crashed?\n");
>>> +     if (WARN_ON(!skb))
>>>               return 0;
>>> -     }
>>
>> WARN_ON() is a bit dangerous here as it might cause excessive spamming.
>> Why did you want to change this? I think either ath10k_warn() or
>> WARN_ON_ONCE() would be safer, but not sure which one to use.
>
> After the scatter-gather patch no NULL skb should be ever passed to tx
> completion handler as those are ignored by hif/pci.

Sure. But that's just theory, in practise all sorts bugs can always
happen :)

> Perhaps the hunk should be moved from this patch to the scatter-gather
> one.

Nah, I don't think that's necessary.

> Perhaps WARN_ON() is a bit over the top here, but since this is now
> more of a logic issue rather than runtime issue I decided to change it
> from ath10k_warn to WARN_ON(). It's probably still a good idea to make
> it _ONCE generally, although if you actually get skbuff it's already
> too late or it should be screaming loudly because someone must've
> changed the code in an incorrect/incomplete way.

So I change it to WARN_ON_ONCE(), ok?

-- 
Kalle Valo

  reply	other threads:[~2014-02-28  9:28 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-17  9:32 [RFC/RFT 0/7] ath10k: performance improvements Michal Kazior
2014-02-17  9:32 ` Michal Kazior
2014-02-17  9:32 ` [RFC/RFT 1/7] ath10k: remove DMA mapping wrappers Michal Kazior
2014-02-17  9:32   ` Michal Kazior
2014-02-19 12:37   ` Kalle Valo
2014-02-19 12:37     ` Kalle Valo
2014-02-17  9:32 ` [RFC/RFT 2/7] ath10k: remove is_aborted from skb_cb Michal Kazior
2014-02-17  9:32   ` Michal Kazior
2014-02-17  9:32 ` [RFC/RFT 3/7] ath10k: replace send_head() with tx_sg() Michal Kazior
2014-02-17  9:32   ` Michal Kazior
2014-02-19 12:48   ` Kalle Valo
2014-02-19 12:48     ` Kalle Valo
2014-02-19 13:25     ` Michal Kazior
2014-02-19 13:25       ` Michal Kazior
2014-02-19 14:18       ` Kalle Valo
2014-02-19 14:18         ` Kalle Valo
2014-02-20  6:43         ` Michal Kazior
2014-02-20  6:43           ` Michal Kazior
2014-02-24 11:46           ` Kalle Valo
2014-02-24 11:46             ` Kalle Valo
2014-02-17  9:32 ` [RFC/RFT 4/7] ath10k: bypass htc for htt tx path Michal Kazior
2014-02-17  9:32   ` Michal Kazior
2014-02-19 14:56   ` Kalle Valo
2014-02-19 14:56     ` Kalle Valo
2014-02-17  9:32 ` [RFC/RFT 5/7] ath10k: batch htt tx/rx completions Michal Kazior
2014-02-17  9:32   ` Michal Kazior
2014-02-19 15:10   ` Kalle Valo
2014-02-19 15:10     ` Kalle Valo
2014-02-20 11:23     ` Michal Kazior
2014-02-20 11:23       ` Michal Kazior
2014-02-24 11:49       ` Kalle Valo
2014-02-24 11:49         ` Kalle Valo
2014-02-17  9:32 ` [RFC/RFT 6/7] ath10k: remove pci completion list Michal Kazior
2014-02-17  9:32   ` Michal Kazior
2014-02-17  9:32 ` [RFC/RFT 7/7] ath10k: minimize coherent dma accesses Michal Kazior
2014-02-17  9:32   ` Michal Kazior
2014-02-17 15:01 ` [RFC/RFT 0/7] ath10k: performance improvements Kalle Valo
2014-02-17 15:01   ` Kalle Valo
2014-02-19 15:16 ` Kalle Valo
2014-02-19 15:16   ` Kalle Valo
2014-02-26 11:34 ` [PATCH v2 0/8] " Michal Kazior
2014-02-26 11:34   ` Michal Kazior
2014-02-26 11:34   ` [PATCH v2 1/8] ath10k: remove DMA mapping wrappers Michal Kazior
2014-02-26 11:34     ` Michal Kazior
2014-02-26 11:34   ` [PATCH v2 2/8] ath10k: remove is_aborted from skb_cb Michal Kazior
2014-02-26 11:34     ` Michal Kazior
2014-02-26 12:09   ` [PATCH v2 0/8] ath10k: performance improvements Michal Kazior
2014-02-26 12:09     ` Michal Kazior
2014-02-27  7:19 ` [PATCH v3 " Michal Kazior
2014-02-27  7:19   ` Michal Kazior
2014-02-27  7:19   ` [PATCH v3 1/8] ath10k: remove DMA mapping wrappers Michal Kazior
2014-02-27  7:19     ` Michal Kazior
2014-02-27  7:19   ` [PATCH v3 2/8] ath10k: remove is_aborted from skb_cb Michal Kazior
2014-02-27  7:19     ` Michal Kazior
2014-02-27  7:19   ` [PATCH v3 3/8] ath10k: replace send_head() with tx_sg() Michal Kazior
2014-02-27  7:19     ` Michal Kazior
2014-02-27  7:19   ` [PATCH v3 4/8] ath10k: bypass htc for htt tx path Michal Kazior
2014-02-27  7:19     ` Michal Kazior
2014-02-28  9:06     ` Kalle Valo
2014-02-28  9:06       ` Kalle Valo
2014-02-28  9:15       ` Michal Kazior
2014-02-28  9:15         ` Michal Kazior
2014-02-28  9:28         ` Kalle Valo [this message]
2014-02-28  9:28           ` Kalle Valo
2014-02-28  9:54           ` Michal Kazior
2014-02-28  9:54             ` Michal Kazior
2014-02-27  7:19   ` [PATCH v3 5/8] ath10k: batch htt tx/rx completions Michal Kazior
2014-02-27  7:19     ` Michal Kazior
2014-02-28  9:00     ` Kalle Valo
2014-02-28  9:00       ` Kalle Valo
2014-02-28  9:07       ` Michal Kazior
2014-02-28  9:07         ` Michal Kazior
2014-02-27  7:19   ` [PATCH v3 6/8] ath10k: reduce htt tx/rx spinlock overhead Michal Kazior
2014-02-27  7:19     ` Michal Kazior
2014-02-27  7:19   ` [PATCH v3 7/8] ath10k: remove pci completion list Michal Kazior
2014-02-27  7:19     ` Michal Kazior
2014-02-27  7:19   ` [PATCH v3 8/8] ath10k: minimize coherent dma accesses Michal Kazior
2014-02-27  7:19     ` Michal Kazior
2014-02-28 10:13   ` [PATCH v3 0/8] ath10k: performance improvements Kalle Valo
2014-02-28 10:13     ` Kalle Valo

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=87txbjbn7s.fsf@kamboji.qca.qualcomm.com \
    --to=kvalo@qca.qualcomm.com \
    --cc=ath10k@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=michal.kazior@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 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.