Search Linux Wireless

Re: bug: iwlwifi, aggregation, and mac80211's reorder buffer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sorry, terminal cut off.

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index a6701ed..0467ec8 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -605,13 +605,14 @@ static void ieee80211_sta_reorder_release(struct
ieee80211_hw *hw,
                                continue;
                        }
                        if (!time_after(jiffies, tid_agg_rx->reorder_time[j] +
-                                       HT_RX_REORDER_BUF_TIMEOUT))
+                                       HT_RX_REORDER_BUF_TIMEOUT) && skipped)
                                goto set_release_timer;

-#ifdef CONFIG_MAC80211_HT_DEBUG
-                       if (net_ratelimit())
+#if 1
+//#ifdef CONFIG_MAC80211_HT_DEBUG
+//                     if (net_ratelimit())
                                wiphy_debug(hw->wiphy,
-                                           "release an RX reorder
frame due to timeout on earlier frames\n");
+                                           "release an RX reorder
frame due to timeout on earlier frames (skipped=%d)\n", skipped);
 #endif
                        ieee80211_release_reorder_frame(hw, tid_agg_rx, j);

@@ -680,6 +681,7 @@ static bool
ieee80211_sta_manage_reorder_buf(struct ieee80211_hw *hw,
         * size release some previous frames to make room for this one.
         */
        if (!seq_less(mpdu_seq_num, head_seq_num + buf_size)) {
+               printk("New seq exceeds buffering window: %d, %d\n",
mpdu_seq_num, head_seq_num);
                head_seq_num = seq_inc(seq_sub(mpdu_seq_num, buf_size));
                /* release stored frames up to new head to stack */
                ieee80211_release_reorder_frames(hw, tid_agg_rx, head_seq_num);


On Tue, Mar 15, 2011 at 11:31 AM, Daniel Halperin
<dhalperi@xxxxxxxxxxxxxxxxx> wrote:
> At the receiver (AP in this case) side, hacked from mac80211. The
> following diff includes one more mac80211 fix I haven't yet sent to
> the list.
>
> Dan
>
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index a6701ed..0467ec8 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -605,13 +605,14 @@ static void ieee80211_sta_reorder_release(struct
> ieee80211                                continue;
>                        }
>                        if (!time_after(jiffies, tid_agg_rx->reorder_time[j] +
> -                                       HT_RX_REORDER_BUF_TIMEOUT))
> +                                       HT_RX_REORDER_BUF_TIMEOUT) && skipped)
>                                goto set_release_timer;
>
> -#ifdef CONFIG_MAC80211_HT_DEBUG
> -                       if (net_ratelimit())
> +#if 1
> +//#ifdef CONFIG_MAC80211_HT_DEBUG
> +//                     if (net_ratelimit())
>                                wiphy_debug(hw->wiphy,
> -                                           "release an RX reorder
> frame due to +                                           "release an
> RX reorder frame due to  #endif
>                        ieee80211_release_reorder_frame(hw, tid_agg_rx, j);
>
> @@ -680,6 +681,7 @@ static bool
> ieee80211_sta_manage_reorder_buf(struct ieee8021         * size
> release some previous frames to make room for this one.
>         */
>        if (!seq_less(mpdu_seq_num, head_seq_num + buf_size)) {
> +               printk("New seq exceeds buffering window: %d, %d\n",
> mpdu_seq_nu                head_seq_num =
> seq_inc(seq_sub(mpdu_seq_num, buf_size));
>                /* release stored frames up to new head to stack */
>                ieee80211_release_reorder_frames(hw, tid_agg_rx, head_seq_num);
>
>
> On Tue, Mar 15, 2011 at 11:29 AM, Johannes Berg
> <johannes@xxxxxxxxxxxxxxxx> wrote:
>> On Tue, 2011-03-15 at 11:16 -0700, Daniel Halperin wrote:
>>
>>> [341349.271337] New seq exceeds buffering window: 2797, 2766
>>
>> quick q (on the phone right now) - where's that message from?
>>
>> johannes
>>
>>
>>
>
--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux