On 2018-10-27 17:04, Stanislaw Gruszka wrote: > On Thu, Oct 25, 2018 at 06:55:41PM +0200, Felix Fietkau wrote: >> + struct mt76_tx_cb *cb = mt76_tx_skb_cb(skb); >> + u8 done = MT_TX_CB_DMA_DONE | MT_TX_CB_TXS_DONE; > can be "const u8 done = ..." I think the compiler is smart enough to figure that one out. >> +mt76_tx_status_skb_add(struct mt76_dev *dev, struct mt76_wcid *wcid, >> + struct sk_buff *skb) >> +{ >> + struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); >> + struct mt76_tx_cb *cb = mt76_tx_skb_cb(skb); >> + int pid; >> + >> + if (!wcid || !wcid->sta) >> + return 0; > > Due to !wcid->sta check I can not associate with AP on MT7610U, > because we use pid = 0 for assoc frames which are marked > IEEE80211_TX_CTL_REQ_TX_STATUS . > After removing it and leave just !wcid check, things work ok. Thanks, will send a v2. - Felix