On Wed, 2011-01-26 at 21:04 +0100, Arik Nemtsov wrote: > >> @@ -238,6 +254,9 @@ static int wl1271_prepare_tx_frame(struct > wl1271 *wl, struct sk_buff *skb, > >> if (ret < 0) > >> return ret; > >> > >> + if (wl->bss_type == BSS_TYPE_AP_BSS) > >> + wl1271_tx_ap_update_inconnection_sta(wl, skb); > >> + > >> wl1271_tx_fill_hdr(wl, skb, extra, info); > > > > Isn't there any other place where you can put this? Doesn't it add > too > > much overhead if you do it for every TX frame? > > At this stage the STA has not been officially added yet, so this is > just a packet. In fact it won't be added unless authenticated. When > the STA is added its too late. If we failed to mark it in-connection, > sometimes the FW will disconnect it. > > Performance wise - its just another "compare + jmp" statement > basically (checking the packet header). Didn't see any effect on > throughput. No, it's not just a cmp + jmp. You actually call wl1271_tx_ap_update_inconnection_sta() and there you dig out the header and call ieee80211_is_auth(), so you're actually parsing the header of every frame you transmit if you're an AP. Isn't there a way to avoid this only when necessary? -- Cheers, Luca. -- 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