K 10 svn:author V 6 adrian K 8 svn:date V 27 2015-09-21T02:30:22.768731Z K 7 svn:log V 684 Convert if_rsu to use a deferred transmit task rather than using rsu_start() to do it directly. Ensure that we re-queue starting transmit upon TX completion. This solves two issues: * It stops tx stalls - before this, if the transmit path filled the mbuf queue then it'd never start another transmit. * It enforces ordering - this is very required for 802.11n which requires frames to be transmitted in the order they're queued. Since everything remotely involved in USB has an unlock/thing/relock pattern with that mutex, the only way to guarantee TX ordering is to 100% defer it into a separate thread. This now survives an iperf test and gets a reliable 30mbit/sec. END