On Sat, 2012-11-24 at 01:19 +0000, Felix Liao wrote: > Hi Johannes, > Thanks for your help, I just make some tests with the patch you provided. > Yes, there is none warning calltrace again, and none other calltrace too. > > But for the tmp_list, when we abort a roc and add to the tail of > tmp_list, We will delete it from tmp_list in the work async, we need > to modify the prev and next pointer of the head of tmp_list, I think > they are freed from the stack of function ieee80211_roc_purge(), it is > dangerous. No, it's fine because we flush the asynchronous work there by calling flush_delayed_work() so it's not actually asynchronous but synchronous. The reason I didn't just make it call the ieee80211_sw_roc_work() function is that it may already be scheduled, and we need to catch that case as well. johannes -- 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