On Fri, Jan 31, 2014 at 07:24:05PM +0100, Oleksij Rempel wrote: > I have different HW. How can trigger sta_rc_update? Below patch should trigger it when any management frame is received from know sta and print information about it. Thanks Stanislaw diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c index c9254a6..5cfc98c 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c @@ -1346,9 +1346,7 @@ static void ath9k_htc_sta_rc_update(struct ieee80211_hw *hw, { struct ath9k_htc_sta *ista = (struct ath9k_htc_sta *) sta->drv_priv; - if (!(changed & IEEE80211_RC_SUPP_RATES_CHANGED)) - return; - + printk("%s: schedule work\n", __func__); schedule_work(&ista->rc_update_work); } diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index c24ca0d..642b326 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -2847,8 +2847,10 @@ ieee80211_rx_h_mgmt(struct ieee80211_rx_data *rx) rx->skb->pkt_type = IEEE80211_SDATA_QUEUE_TYPE_FRAME; skb_queue_tail(&sdata->skb_queue, rx->skb); ieee80211_queue_work(&rx->local->hw, &sdata->work); - if (rx->sta) + if (rx->sta) { rx->sta->rx_packets++; + drv_sta_rc_update(rx->local, rx->sta->sdata, &rx->sta->sta, 0); + } return RX_QUEUED; } -- 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