--- a/net/mac80211/led.c +++ b/net/mac80211/led.c @@ -194,7 +194,7 @@ static void tpt_trig_timer(unsigned long off = 0; for (i = tpt_trig->blink_table_len - 1; i >= 0; i--) { - if (tpt >= tpt_trig->blink_table[i].throughput) { + if (tpt > tpt_trig->blink_table[i].throughput) { off = tpt_trig->blink_table[i].blink_time / 2; on = tpt_trig->blink_table[i].blink_time - off; break; --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1877,6 +1877,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_ msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout)); } + ieee80211_tpt_led_trig_rx(local, rx->skb->len); ieee80211_deliver_skb(rx); return RX_QUEUED; @@ -2873,7 +2874,6 @@ void ieee80211_rx(struct ieee80211_hw *h return; } - ieee80211_tpt_led_trig_rx(local, skb->len); __ieee80211_rx_handle_packet(hw, skb); rcu_read_unlock();