All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gertjan van Wingerde <gwingerde@gmail.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: John Linville <linville@tuxdriver.com>,
	linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH] mac80211: request TX status where needed
Date: Thu, 19 Nov 2009 23:09:56 +0100	[thread overview]
Message-ID: <4B05C234.3000908@gmail.com> (raw)
In-Reply-To: <1258589310.30511.91.camel@johannes.local>

On 11/19/09 01:08, Johannes Berg wrote:
> Right now all frames mac80211 hands to the driver
> have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set to
> request TX status. This isn't really necessary, only
> the injected frames need TX status (the latter for
> hostapd) so move setting this flag.
> 
> The rate control algorithms also need TX status, but
> they don't require it.
> 
> Also, rt2x00 uses that bit for its own purposes and
> seems to require it being set for all frames, but
> that can be fixed in rt2x00.
> 
> This doesn't really change anything for any drivers
> but in the future drivers using hw-rate control may
> opt to not report TX status for frames that don't
> have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set.
> 
> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> [rt2x00 bits]
> ---

> @@ -287,12 +288,12 @@ void rt2x00lib_txdone(struct queue_entry
>  	}
>  
>  	/*
> -	 * Only send the status report to mac80211 when TX status was
> -	 * requested by it. If this was a extra frame coming through
> -	 * a mac80211 library call (RTS/CTS) then we should not send the
> -	 * status report back.
> +	 * Only send the status report to mac80211 when it's a frame
> +	 * that originated in mac80211. If this was a extra frame coming
> +	 * through a mac80211 library call (RTS/CTS) then we should not
> +	 * send the status report back.
>  	 */
> -	if (tx_info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS)
> +	if (!(skbdesc_flags & SKBDESC_NOT_MAC80211))
>  		ieee80211_tx_status_irqsafe(rt2x00dev->hw, entry->skb);
>  	else
>  		dev_kfree_skb_irq(entry->skb);

I'm slightly confused here. Shouldn't both the tx_info->flags and skbdesc_flags be checked here?
Now we run in the situation where tx_status is report even if mac80211 didn't ask for it.

---
Gertjan.

  reply	other threads:[~2009-11-19 22:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-19  0:08 [PATCH] mac80211: request TX status where needed Johannes Berg
2009-11-19 22:09 ` Gertjan van Wingerde [this message]
2009-11-19 22:30   ` Gertjan van Wingerde
2009-11-19 22:33     ` Johannes Berg

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=4B05C234.3000908@gmail.com \
    --to=gwingerde@gmail.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.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.