TP_ARGS(ctx)
 );
 
+DEFINE_EVENT(xhci_log_ep_ctx, xhci_add_endpoint,
+       TP_PROTO(struct xhci_ep_ctx *ctx),
+       TP_ARGS(ctx)
+);
+
 DECLARE_EVENT_CLASS(xhci_log_slot_ctx,
        TP_PROTO(struct xhci_slot_ctx *ctx),
        TP_ARGS(ctx),
 
        struct xhci_container_ctx *in_ctx;
        unsigned int ep_index;
        struct xhci_input_control_ctx *ctrl_ctx;
+       struct xhci_ep_ctx *ep_ctx;
        u32 added_ctxs;
        u32 new_add_flags, new_drop_flags;
        struct xhci_virt_device *virt_dev;
        /* Store the usb_device pointer for later use */
        ep->hcpriv = udev;
 
+       ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index);
+       trace_xhci_add_endpoint(ep_ctx);
+
        xhci_debugfs_create_endpoint(xhci, virt_dev, ep_index);
 
        xhci_dbg(xhci, "add ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",