diff --git a/drivers/usbdev/usbdev_trace.c b/drivers/usbdev/usbdev_trace.c
index 37cd7c1eb4a3416a984ef900848553fa8126b204..38614e7a8b6260420298285b8fdf1c2b9e8106b7 100644
--- a/drivers/usbdev/usbdev_trace.c
+++ b/drivers/usbdev/usbdev_trace.c
@@ -320,6 +320,14 @@ void usbtrace(uint16 event, uint16 value)
       lldbg("Class resume(): %04x\n", value);
       break;
 
+    case TRACE_CLASSRDCOMPLETE:
+      lldbg("Class RD request complete: %04x\n", value);
+      break;
+
+    case TRACE_CLASSWRCOMPLETE:
+      lldbg("Class WR request complete: %04x\n", value);
+      break;
+
     default:
       switch (TRACE_ID(event))
         {
@@ -369,7 +377,7 @@ void usbtrace(uint16 event, uint16 value)
 
         default:
           lldbg("Unrecognized event: %02x:%02x:%04x\n",
-                TRACE_ID(event), TRACE_DATA(event), value);
+                TRACE_ID(event) >> 8, TRACE_DATA(event), value);
           break;
         }
     }
diff --git a/include/nuttx/usbdev_trace.h b/include/nuttx/usbdev_trace.h
index 74e95078a7f39a608ff023b1f65496cafddb0aca..58683513687b38955f3e52aeb7d3167c5d63352e 100644
--- a/include/nuttx/usbdev_trace.h
+++ b/include/nuttx/usbdev_trace.h
@@ -109,6 +109,9 @@
 #define TRACE_CLASSSUSPEND       TRACE_EVENT(TRACE_CLASS_ID, 0x0005)
 #define TRACE_CLASSRESUME        TRACE_EVENT(TRACE_CLASS_ID, 0x0006)
 
+#define TRACE_CLASSRDCOMPLETE    TRACE_EVENT(TRACE_CLASS_ID, 0x0007)
+#define TRACE_CLASSWRCOMPLETE    TRACE_EVENT(TRACE_CLASS_ID, 0x0008)
+
 #define TRACE_CLASSAPI(id)       TRACE_EVENT(TRACE_CLASSAPI_ID, id)
 
 /* USB device controller interrupt events.  The 'id' is specific to the driver.
@@ -120,7 +123,7 @@
 #define TRACE_INTDECODE(id)      TRACE_EVENT(TRACE_INTDECODE_ID, id)
 #define TRACE_INTEXIT(id)        TRACE_EVENT(TRACE_INTEXIT_ID, id)
 
-/* Data Transfer */
+/* Controller data transfer */
 
 #define TRACE_OUTREQQUEUED(ep)   TRACE_EVENT(TRACE_OUTREQQUEUED_ID, ep)
 #define TRACE_INREQQUEUED(ep)    TRACE_EVENT(TRACE_INREQQUEUED_ID, ep)