Hi Bing, On Wed, Apr 03, 2013 at 11:37:43AM -0700, Bing Zhao wrote: > [snip] > > How should I proceed? Can I reorder patches to match my > > development cycle, which is? 2-5;1;6 or more verbosely > > cleanup first followed by bug fix and proper locking last > You can separate 6 patches into two patch sets. > 1-3 fix the bug and clean up. > 4-6 implement ra list rotation and proper locking. I reworked the patchset and split into two. set 1: 1/4 mwifiex: rework round robin scheduling of bss nodes. 2/4 mwifiex: replace ra_list_curr by list rotation. 3/4 mwifiex: bug: hold proper locks when accessing ra_list / bss_prio lists. 4/4 mwifiex: bug: remove NO_PKT_PRIO_TID. 3/4 previous 6/6 is bugfix now: ... Another race condition exists, if a new highest priority packet is added. If concurrently a packet is dequeued, the newly set max prio will be overwritten with the value of the dequeued packet. This can occur, because selecting a packet and modifying the max prio is not atomic. This results in an infinite loop unless, a new packet is added that has at least the priority of the hidden packet. ... set 2: 1/2 mwifiex: remove unused tid_tbl_lock from mwifiex_tid_tbl. 2/2 mwifiex: bug: wrong list in list_empty check. Patch set 2 can be delayed, but since hard to read code probably introduced all the problems, I suggest to apply it promptly. It simplifies the code a lot. > > We will run stress tests against 4-6. I'm here at 4+ days, still running. This exceeds all previous tests on my particular setup. > > Thanks, > Bing rgds, Andi -- 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