It appears even though BULK USB0DeviceIntHandler() is registered in Startup_ccs.c it is not handling event Suspend or instructing Resume and obviously not being called from USBDeviceIntHanderInternal(). Instead only the pfnReceive callback handler prints the status event message without the defined ui32MsgValue value, instead a random integer. And the Suspend/Resume print message I added inside internal interrupt handler never occurs. That requires to unplug the USB cable each time 3ms of idle endpoint 1 bus time occurs.
So 3ms of idle bus time (suspend mode) the host computer sends status message to suspend transmit, it never resumes. I can't understand why (usb_bulk_structs.c) construct registering RxHandler (pfnCallback) in any way over rides the registered hardware interrupts shown below. If the hardware Resume/Suspend interrupts are configured they should assert to handle the Host sent Suspend/Resume conditions, right?
https://www.beyondlogic.org/usbnutshell/usb2.shtml#SuspendCurrent
Otherwise USBDCDInit() is enabling the control interrupts shown below but they are not asserting!
// // Only do hardware update if the stack is not in OTG mode. // if(g_iUSBMode != eUSBModeOTG) { // // Get the current interrupt status.to clear all pending USB // interrupts. // MAP_USBIntStatusControl(USB0_BASE); MAP_USBIntStatusEndpoint(USB0_BASE); // // Enable USB Interrupts. // MAP_USBIntEnableControl(USB0_BASE, USB_INTCTRL_RESET | USB_INTCTRL_DISCONNECT | USB_INTCTRL_RESUME | USB_INTCTRL_SUSPEND | USB_INTCTRL_SOF | USB_INTCTRL_VBUS_ERR); MAP_USBIntEnableEndpoint(USB0_BASE, USB_INTEP_ALL);