On 2010-09-21 8:04 PM, Ben Greear wrote: > On 09/21/2010 11:00 AM, Felix Fietkau wrote: >> On 2010-09-21 7:25 PM, Ben Greear wrote: >>> On 09/21/2010 05:19 AM, Felix Fietkau wrote: >>>> On 2010-09-21 2:08 PM, Ben Greear wrote: >>> >>>>> If you have any more details on this, please let me know. I'm going to >>>>> attempt to fix it...I certainly have a good test case :) >>>> ath_tx_complete_aggr completes an A-MPDU frame, which typically triggers >>>> the release of the next A-MPDU to the hw queue. >>>> To keep track of the Block ACK window, it needs to look up the TID, for >>>> which it needs a STA pointer. At that level, the driver typically >>>> doesn't have access to the vif. >>>> >>>> It might be possible to fix this by adding another sta lookup helper >>>> function in mac80211 that takes another address argument for the BSSID, >>>> so that it can get the sta entry for the correct vif. I don't know if >>>> Johannes wants something like that though. >>> >>> Could we just poke a pointer to the STA into the ath_buf structure? >> No, that doesn't work because of RCU. > > Would it also be bad to use skb->dev to find an STA? It would be bad to keep a STA pointer around anywhere in the skb or the ath_buf. You can only use it within a rcu_read_lock()/rcu_read_unlock() pair. - Felix -- 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