Skip to content

USB Assert - In Endpoint #10862

Closed
Closed
@AGlass0fMilk

Description

@AGlass0fMilk

Description

After my PR #10689 was recently merged, I synced a project I'm working on up to Mbed-OS master. This project uses USB MSD.

Now, when I connect my device to a host (tried on Linux and Windows), I hit the following assert:

++ MbedOS Error Info ++                                                                                                       
Error Status: 0x80FF0144 Code: 324 Module: 255                                                                                
Error Message: Assertion failed: info->pending >= 1                                                                           
Location: 0x6549                                                                                                              
File: ./mbed-os/usb/device/USBDevice/USBDevice.cpp+955                                                                        
Error Value: 0x0                                                                                                              
Current Thread: main  Id: 0x2000155C Entry: 0x76B5 StackSize: 0x1000 StackMem: 0x200023B0 SP: 0x2003FF00                      
For more info, visit: https://mbed.com/s/error?error=0x80FF0144&tgt=NRF52840_DK                                               
-- MbedOS Error Info --       

I then changed back to my feature branch (https://github.com/AGlass0fMilk/mbed-os/tree/nrf52840-usbphy-implementation), rebuild and the issue is gone. My device mounts as /dev/sdb fine.

Not sure if anything changed in the USB stack that might be causing this. I don't see any other recent changes.

Essentially, my main code ends with (after setting up FAT file system from example):

USBMSD usb(&qspi_blockdevice);
while (true) {
	usb.process();
}

I am also printing to the debug UART. Other than that, there's not much else going on in the project.

I tested this on my USB Serial example here: https://github.com/AGlass0fMilk/mbed-usb-cdc-example.git

Same results. When I'm on my feature branch it works as expected. When I pull master (currently at 14b77c9) the code hits the assert as soon as I plug in USB.

I haven't had luck tracing down the commit that introduced this issue. My feature branch isn't that stale so that should help narrow it down.

Testing on nRF52840_DK with GCC_ARM toolchain.

Issue request type

[ ] Question
[ ] Enhancement
[X] Bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions