All of lore.kernel.org
 help / color / mirror / Atom feed
* mac80211: Set IEEE80211_TXPD_REQ_TX_STATUS for all TX frames
@ 2008-05-11 12:34 Ivo van Doorn
  2008-05-13  8:42 ` Johannes Berg
  2008-05-13 13:03 ` [PATCH v2] " Ivo van Doorn
  0 siblings, 2 replies; 7+ messages in thread
From: Ivo van Doorn @ 2008-05-11 12:34 UTC (permalink / raw)
  To: linville; +Cc: Johannes Berg, linux-wireless

All interfaces should set the IEEE80211_TXPD_REQ_TX_STATUS flag for all TX frames
which will force the master interface to set the IEEE80211_TX_CTL_REQ_TX_STATUS
flag. This in turn will allow drivers to check for that flag before reporting
the TX status to mac80211.

This is very usefull when frames (like beacons, RTS and CTS-to-self) should not
be reported back to mac80211. Later we could add more extensive checks to
exclude more frames from being reported, or let mac80211 decide if it wants
the frame for status reporting or not.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index f35eaea..0024892 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1617,6 +1617,9 @@ int ieee80211_subif_start_xmit(struct sk_buff *skb,
 	if (ethertype == ETH_P_PAE)
 		pkt_data->flags |= IEEE80211_TXPD_EAPOL_FRAME;
 
+	/* Interfaces should always request a status report */
+	pkt_data->flags |= IEEE80211_TXPD_REQ_TX_STATUS;
+
 	skb->dev = local->mdev;
 	dev->stats.tx_packets++;
 	dev->stats.tx_bytes += skb->len;

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-05-13 12:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-11 12:34 mac80211: Set IEEE80211_TXPD_REQ_TX_STATUS for all TX frames Ivo van Doorn
2008-05-13  8:42 ` Johannes Berg
2008-05-13 11:46   ` Ivo van Doorn
2008-05-13 12:29     ` Johannes Berg
2008-05-13 12:53       ` Ivo van Doorn
2008-05-13 13:03 ` [PATCH v2] " Ivo van Doorn
2008-05-13 12:54   ` Johannes Berg

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.