1
0

Do timeout when writing to CONSOLE EP queue.

Fixes TMK bug #266.
This commit is contained in:
flabbergast 2015-12-18 20:50:59 +00:00
parent 1104dc0a4f
commit a75834ee98

View File

@ -1323,10 +1323,13 @@ int8_t sendchar(uint8_t c) {
return 0; return 0;
} }
osalSysUnlock(); osalSysUnlock();
/* should get suspended and wait if the queue is full /* Timeout after 5us if the queue is full.
* but it's not blocking even if noone is listening, * Increase this timeout if too much stuff is getting
* because the USB packets are sent anyway */ * dropped (i.e. the buffer is getting full too fast
return(chOQPut(&console_queue, c)); * for USB/HIDRAW to dequeue). Another possibility
* for fixing this kind of thing is to increase
* CONSOLE_QUEUE_CAPACITY. */
return(chOQPutTimeout(&console_queue, c, US2ST(5)));
} }
#else /* CONSOLE_ENABLE */ #else /* CONSOLE_ENABLE */