On 7/19/07, Jiri Benc <jbenc@xxxxxxx> wrote:
On Thu, 19 Jul 2007 23:20:35 +0800, Li YanBo wrote: > BTW, I find a problem in the file ieee80211.c it locals in the > function "static int __ieee80211_tx()", I think the if (i == > tx->u.tx.num_extra_frag) is ineffective, because 'i' always lower > than tx->u.tx.num_extra_frag. I guess maybe it should be if (i == > (tx->u.tx.num_extra_frag - 1)), below is the patch, CMIIW. You're right. Could you add your Signed-off-by? Thanks, Jiri
Sorry for late response. commit 800bbaa941213e8a7297d7fb9265f77f5a7b76af Author: Li YanBo <dreamfly281@xxxxxxxxx> Date: Fri Jul 20 10:53:25 2007 +0800 [PATCH] mac80211: Fix change (i == tx->u.tx.num_extra_frag) to (i == (tx->u.tx.num_extra_frag - 1)) then it can deal the last frag correctly. Signed-off-by: Li YanBo <dreamfly281@xxxxxxxxx> diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c index fcad801..48c51bf 100644 --- a/net/mac80211/ieee80211.c +++ b/net/mac80211/ieee80211.c @@ -1406,7 +1406,7 @@ static int __ieee80211_tx(struct ieee80211_local *local, struct sk_buff continue; if (__ieee80211_queue_stopped(local, control->queue)) return IEEE80211_TX_FRAG_AGAIN; - if (i == tx->u.tx.num_extra_frag) { + if (i == (tx->u.tx.num_extra_frag - 1)) { control->tx_rate = tx->u.tx.last_frag_hwrate; control->rate = tx->u.tx.last_frag_rate; if (tx->u.tx.probe_last_frag) - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html