El controlador se ejecuta como dos flujos de control de un s�lo hilo independientes. Uno es la rutina de enviar paquetes, que fuerza el uso de un hilo simple por medio de la flag dev->tbusy. El otro hilo es el manejador de interrupciones, que es un hilo simple por culpa del hardware y de otro software.
El hilo de enviar paquetes tiene control parcial sobre el anillo Tx y sobre la bandera 'dev->tbusy'. Establece la bandera tbusy cuando est� encolando un paquete Tx. Si el siguiente slot de la cola est� vac�o, l�mpia la bandera tbusy cuando ha acabado y en otro caso establece la bandera 'tp->tx_full'.
El manejador de interrupciones tiene un control exclusivo sobre el anillo Tx y las estad�sticas grabadas para el anillo Tx. (La interrupci�n Tx-done no puede ser desconectada selectivamente, por lo tanto no podemos eliminar la interrupci�n sobre nosotros teniendo la rutina Tx recogiendo las estad�sticas Tx.) Despu�s de recoger las estad�sticas, marca la cola de entrada como vac�a estableciendo la 'base' a cero. Si la bandera 'tp->tx_full' est� establecida, entonces limpia las banderas tx_full y tbusy.