On Fri, Feb 5, 2010 at 7:11 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > >> @@ -275,6 +274,19 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb) >> local->dot11FailedCount++; >> } >> >> + if (ieee80211_is_nullfunc(fc) && ieee80211_has_pm(fc) && >> + (local->hw.flags & IEEE80211_HW_TX_STATUS) && >> + (local->hw.conf.flags & IEEE80211_CONF_PS)) { >> + if (info->flags & IEEE80211_TX_STAT_ACK) { >> + local->ps_sdata->u.mgd.flags |= >> + IEEE80211_STA_NULLFUNC_ACKED; >> + ieee80211_queue_work(&local->hw, >> + &local->dynamic_ps_enable_work); >> + } else >> + mod_timer(&local->dynamic_ps_timer, jiffies + >> + msecs_to_jiffies(10)); >> + } >> + >> /* this was a transmitted frame, but now we want to reuse it */ >> skb_orphan(skb); > And the mod_timer case is completely useless there anyway, at least the > way you've done this now. Ah, right! Thanks for pointing it out. Vivek. -- 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