K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-11T20:34:57.722411Z K 7 svn:log V 1003 Implement a very basic software re-transmit algorithm. If an ADDBA session frame fails, and it's not during some kind of queue cleanup, attempt to retransmit the thing. The retransmit method is very simple - set some bits to indicate its a retry, prepend to the front of the queue, and schedule the TID for activity in the future. The frame will be rescheduled and resubmitted to the hardware for us by the normal TX path. This doesn't attempt a rate lookup; it re-uses the same rate information as the original frame. This means that if TX is failing because the rate selection isn't optimal, it's likely going to keep failing. I'll investigate that in the future. Use a (currently) hard-coded max of 10 retransmits. This is 10 retransmits on top of whatever the rate control module attempts, which may be 4 or 10 frames. This means a frame could be retried from 40 to 100 times. Finally, a BAR isn't sent if TX does finally fail. I'll worry about BAR handling and session teardown handling soon. END