Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix RP2040 Issue 1721 #1755

Merged
merged 1 commit into from Nov 30, 2022
Merged

Fix RP2040 Issue 1721 #1755

merged 1 commit into from Nov 30, 2022

Conversation

rppicomidi
Copy link
Contributor

Describe the PR
Fix issue #1721 by disabling double-buffering for RP2040 host mode non-control endpoints.

Additional context
Issue #1721 discusses this issue and @hathach proposed the solution. I have tested this locally and it works for me.

@DatanoiseTV
Copy link

I've tested this and still the system is freezing on f_open().

Last words before hangup:

SCSI Test Unit Ready
  Queue EP 02 with 31 bytes ...   EP STATE BUSY: 0OK
Buffer complete
on EP 02 with 31 bytes
MSC xfer callback
  Queue EP 81 with 13 bytes ...   EP STATE BUSY: 0OK
Buffer complete
on EP 81 with 13 bytes
MSC xfer callback
SCSI Read Capacity
  Queue EP 02 with 31 bytes ...   EP STATE BUSY: 0OK
Buffer complete
on EP 02 with 31 bytes
MSC xfer callback
  Queue EP 81 with 8 bytes ...   EP STATE BUSY: 0OK
Buffer complete
on EP 81 with 8 bytes
MSC xfer callback
  Queue EP 81 with 13 bytes ...   EP STATE BUSY: 0OK
Buffer complete
on EP 81 with 13 bytes
MSC xfer callback
A MassStorage device is mounted
pdrv = 0
  Queue EP 02 with 31 bytes ...   EP STATE BUSY: 0OK
FATFS drive 0 mounted
MSC Ready
  Queue EP 02 with 31 bytesBuffer complete
 ...   EP STATE BUSY: 1OK
Buffer complete

@rppicomidi
Copy link
Contributor Author

@DatanoiseTV What is your test application?

@DatanoiseTV
Copy link

With the latest changes on main, it works.

Copy link
Owner

@hathach hathach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for the PR, tested with new msc example and work well. Though I still think using "Interrupt" Endpoint for BULK will limit the bandwidth to 1 packet per frame --> 64 KB/s. I will make an issue to remind us

@hathach hathach merged commit 2ae6a4d into hathach:master Nov 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants