diff --git a/lib/chibios b/lib/chibios
index 8fce03b3a7..e26cb16a72 160000
--- a/lib/chibios
+++ b/lib/chibios
@@ -1 +1 @@
-Subproject commit 8fce03b3a75c743e5d5c40b9d59c1637c59d22a7
+Subproject commit e26cb16a7296a196d7c74eae22cbee00989cb7b6
diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c
index 9bfdf572a1..6173d3ad1c 100644
--- a/tmk_core/protocol/chibios/usb_main.c
+++ b/tmk_core/protocol/chibios/usb_main.c
@@ -778,10 +778,6 @@ static const USBEndpointConfig nkro_ep_config = {
  * TODO: maybe disable some things when connection is lost? */
 static void usb_event_cb(USBDriver *usbp, usbevent_t event) {
   switch(event) {
-  case USB_EVENT_RESET:
-    //TODO: from ISR! print("[R]");
-    return;
-
   case USB_EVENT_ADDRESS:
     return;
 
@@ -804,12 +800,15 @@ static void usb_event_cb(USBDriver *usbp, usbevent_t event) {
 #endif /* NKRO_ENABLE */
     osalSysUnlockFromISR();
     return;
-
   case USB_EVENT_SUSPEND:
     //TODO: from ISR! print("[S]");
 #ifdef SLEEP_LED_ENABLE
     sleep_led_enable();
 #endif /* SLEEP_LED_ENABLE */
+    /* Falls into.*/
+  case USB_EVENT_UNCONFIGURED:
+    /* Falls into.*/
+  case USB_EVENT_RESET:
     return;
 
   case USB_EVENT_WAKEUP:
@@ -1032,7 +1031,7 @@ void init_usb_driver(USBDriver *usbp) {
 
   chVTObjectInit(&keyboard_idle_timer);
 #ifdef CONSOLE_ENABLE
-  obqObjectInit(&console_buf_queue, console_queue_buffer, CONSOLE_EPSIZE, CONSOLE_QUEUE_CAPACITY, console_queue_onotify, (void*)usbp);
+  obqObjectInit(&console_buf_queue, false, console_queue_buffer, CONSOLE_EPSIZE, CONSOLE_QUEUE_CAPACITY, console_queue_onotify, (void*)usbp);
   chVTObjectInit(&console_flush_timer);
 #endif
 }