I'm using Freescale's USB stack v4.1.1. If you set it up manually you can configure it for delayed processing of class events. I'm using it for a mass storage device, and delayed processing is important because access to the SPI bus is shared and I can't have the mass storage device class trying to use it in the middle of a transfer. Instead, I call the periodic task in the main loop where I know access is safe.
As it is, it works great and I've been using it that way on Coldfire for about two years. I'm porting the application to Kinetis and attempting to use the Processor Expert wrapper for the USB stack and it doesn't appear to have any way to configure delayed processing.
Disabling USB interrupts everywhere there might be a conflict is inconvenient and even then it seems dangerous. Is there any way to use delayed processing with PE, or do I need to rip it all out and set it up manually?