Johannes Berg wrote: > And in fact, it seems that to protect against concurrent modification in > different code paths I'll have to use the tx lock when calling this from > the MLME code. Can you make sure that the filter will be reconfigured > before further packets are transmitted, that is packets that are going > to go into ->tx() after ->configure_filter()? I see three options to achieve this: 1) Use ieee80211_stop_queues() in ->configure_filter() and ieee80211_wake_queues() at the end of the workqueue function. 2) Throw away all packets until the workqueue function terminates. 3) Implement our own tx queue. I prefer to do option (1) because it wouldn't require adding additional fields to our private structure beside the work_struct for the workqueue function, it is simple to implement and it would not throw away any packets. Are there any side effects that I have overlooked? -- Uli Kunitz - 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