Hi Arend, >> diff --git a/drivers/net/wireless/brcm80211/brcmsmac/ampdu.c b/drivers/net/wireless/brcm80211/brcmsmac/ampdu.c >> index 01b190a..d341c91 100644 >> --- a/drivers/net/wireless/brcm80211/brcmsmac/ampdu.c >> +++ b/drivers/net/wireless/brcm80211/brcmsmac/ampdu.c >> @@ -665,7 +665,7 @@ brcms_c_sendampdu(struct ampdu_info *ampdu, struct brcms_txq_info *qi, >> u8 plcp0, plcp3, is40, sgi; >> struct ieee80211_sta *sta; >> >> - sta = tx_info->control.sta; >> + sta = tx_info->rate_driver_data[0]; > > The sta pointer is not used in this function so this assignment is not > needed. Also the rate_driver_data[0] does not yet hold the sta pointer > upon reaching this function. brcms_c_sendampdu is called from > brcms_c_sendpkt_mac80211 (see below). > > Just remove the sta pointer here. Good catch ! v2 is already sent. > >> diff --git a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c >> index 2d5a404..f3ab8a6 100644 >> --- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c >> +++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c >> @@ -267,6 +267,7 @@ static void brcms_set_basic_rate(struct brcm_rateset *rs, u16 rate, bool is_br) >> static void brcms_ops_tx(struct ieee80211_hw *hw, struct sk_buff *skb) >> { >> struct brcms_info *wl = hw->priv; >> + struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); >> >> spin_lock_bh(&wl->lock); >> if (!wl->pub->up) { >> @@ -275,6 +276,7 @@ static void brcms_ops_tx(struct ieee80211_hw *hw, struct sk_buff *skb) >> goto done; >> } >> brcms_c_sendpkt_mac80211(wl->wlc, skb, hw); >> + tx_info->rate_driver_data[0] = tx_info->control.sta; >> done: >> spin_unlock_bh(&wl->lock); >> } > > Gr. AvS > Greetings Thomas -- 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