/* Output a character in polled mode. 
The behavior of CDC ACM poll out is: */
static void cdc_acm_poll_out(const struct device *dev, unsigned char c)
/* Output a character in polled mode. 
The behavior of CDC ACM poll out is: */
static void cdc_acm_poll_out(const struct device *dev, unsigned char c)
{
	struct cdc_acm_dev_data_t * const dev_data = dev->data;
	dev_data->tx_ready = false;
	while (!ring_buf_put(dev_data->tx_ringbuf, &c, 1)) {
		if (k_is_in_isr() || !dev_data->flow_ctrl) {
			LOG_INF("Ring buffer full, discard %c", c);
			break;
		}
		k_msleep(1);
	}
	k_work_schedule_for_queue(&USB_WORK_Q, &dev_data->tx_work, K_MSEC(1));
}