If a driver needs to find out if the fragment it is supposed to pass to the
hardware is the first fragment, the only way to do this is to check if
a Fragment Number part of seq_ctrl field in the frame header equals to 0.
Let's make it easier.
Signed-off-by: Jiri Benc <[EMAIL PROTECTED]>
---
include/net/d80211.h |2 ++
net/d80211/ieee80211.c |2 ++
2 files changed, 4 insertions(+), 0 deletions(-)
e360f2605cbb71f359de21a59eff1bcbab150e7f
diff --git a/include/net/d80211.h b/include/net/d80211.h
index 141f776..6ae4325 100644
--- a/include/net/d80211.h
+++ b/include/net/d80211.h
@@ -158,6 +158,8 @@ struct ieee80211_tx_control {
unsigned int rate_ctrl_probe:1;
unsigned int clear_dst_mask:1;
unsigned int requeue:1;
+ unsigned int first_fragment:1; /* This is a first fragment of the
+* frame */
/* following three flags are only used with Atheros Super A/G */
unsigned int compress:1;
unsigned int turbo_prime_notify:1; /* notify HostaAPd after frame
diff --git a/net/d80211/ieee80211.c b/net/d80211/ieee80211.c
index 0f01311..9fc3518 100644
--- a/net/d80211/ieee80211.c
+++ b/net/d80211/ieee80211.c
@@ -1120,6 +1120,7 @@ __ieee80211_tx_prepare(struct ieee80211_
u8 *pos = &skb->data[hdrlen + sizeof(rfc1042_header)];
tx->ethertype = (pos[0] << 8) | pos[1];
}
+ control->first_fragment = 1;
}
@@ -1190,6 +1191,7 @@ #endif /* IEEE80211_LEDS */
control->use_rts_cts = 0;
control->use_cts_protect = 0;
control->clear_dst_mask = 0;
+ control->first_fragment = 0;
for (i = 0; i < tx->u.tx.num_extra_frag; i++) {
if (!tx->u.tx.extra_frag[i])
continue;
--
1.3.0
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html