|
@@ -849,17 +849,9 @@ static int write_buffer (circbuf_t * buf)
|
|
|
&endpoint_instance[tx_endpoint];
|
|
|
struct urb *current_urb = NULL;
|
|
|
|
|
|
- current_urb = next_urb (device_instance, endpoint);
|
|
|
-
|
|
|
- if (!current_urb) {
|
|
|
- TTYERR ("current_urb is NULL, buf->size %d\n",
|
|
|
- buf->size);
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
/* TX data still exists - send it now
|
|
|
*/
|
|
|
- if(endpoint->sent < current_urb->actual_length){
|
|
|
+ if(endpoint->sent < endpoint->tx_urb->actual_length){
|
|
|
if(udc_endpoint_write (endpoint)){
|
|
|
/* Write pre-empted by RX */
|
|
|
return -1;
|
|
@@ -878,6 +870,8 @@ static int write_buffer (circbuf_t * buf)
|
|
|
*/
|
|
|
while (buf->size > 0) {
|
|
|
|
|
|
+ current_urb = next_urb (device_instance, endpoint);
|
|
|
+
|
|
|
dest = (char*)current_urb->buffer +
|
|
|
current_urb->actual_length;
|
|
|
|