This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Assert Failure In Tivaware usblib/usb.c

Other Parts Discussed in Thread: TM4C123GH6PM

I am using the Tivaware a USB library (version 2.1.0.12573) to configure a TM4C123GH6PM as a composite USB device with three bulk endpoints and one CDC endpoint.  

Under this configuration I get a ASSERT failure on line 110 of usblib/usb.c in the function _USBIndexWrite.  I have included the offending portion of the code below.  If I comment out the assertion, the device enumerates and communicates as expected.  

My guess is that this is just a legacy assertion intended for a device with fewer available endpoints.  However, I would love for someone more familiar with the codebase confirm that it is indeed safe to ignore this particular assertion. 

static void
_USBIndexWrite(uint32_t ui32Base, uint32_t ui32Endpoint,
               uint32_t ui32IndexedReg, uint32_t ui32Value, uint32_t ui32Size)
{
    uint32_t ui32Index;

    //
    // Check the arguments.
    //
    ASSERT(ui32Base == USB0_BASE);
    ASSERT((ui32Endpoint == 0) || (ui32Endpoint == 1) |(ui32Endpoint == 2) || (ui32Endpoint == 3));
    ASSERT((ui32Size == 1) || (ui32Size == 2));