Zephyr Console on USB Blocking Until Attached on NRF52840 Dongle

I cannot find this answered anywhere on here, if it is, please direct me to it. 

I'm using the NRF52840 Dongle and I have added some code to make the Zephyr Console come out on the USB:

LOG_MODULE_REGISTER(app, CONFIG_CHIP_APP_LOG_LEVEL);
BUILD_ASSERT( DT_NODE_HAS_COMPAT( DT_CHOSEN( zephyr_console ), zephyr_cdc_acm_uart ),
	    "Console device is not ACM CDC UART device" );

void console_init()
{
    const struct device *const dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_console));
	uint32_t dtr = 0;

    usb_enable( NULL );

    while ( !dtr )
    {
		uart_line_ctrl_get( dev, UART_LINE_CTRL_DTR, &dtr );
		k_sleep(K_MSEC(100));
	}
    LOG_INF("Console Initialised: %s\n", CONFIG_ARCH);
}

int main()
{
	console_init();
}

This works well, but when booting, the whole application blocks until I attached to the console. 

Which is good for development. 

I guess I could disable the console but what I would really like to do is have the console on the USB but have the application run as normal and then if I need to, I can attach to the console if there is any funny behavior. 

I cannot use UART0 as that is being used for communications with another MCU. 

Related