Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > CyU3PDmaMultiChannelCommitBuffer() returns error code 71 (CY_U3P_ERROR_INVALID_SEQUENCE)

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



CyU3PDmaMultiChannelCommitBuffer() returns error code 71 (CY_U3P_ERROR_INVALID_SEQUENCE)
Moderator:
RSKV

Post Reply
Follow this topic



CyU3PDmaMultiChannelCommitBuffer() returns error code 71 (CY_U3P_ERROR_INVALID_SEQUENCE)

Sil posted on 20 Jul 2012 12:54 AM PST
Top Contributor
93 Forum Posts

Hi

 

I have created a manual  DMA multi channel. When I commit the data to the consumer, sometimes the function fails, returning error code 71. To find the root cause for this, I am wondering what can cause this error code. Does anybody have some more details on this? Thanks.

 

-Silvio




Re: CyU3PDmaMultiChannelCommitBuffer() returns error code 71 (CY_U3P_ERROR_INVALID_SEQUENCE)

GL_basik posted on 20 Jul 2012 06:51 AM PST
Top Contributor
24 Forum Posts

Hi, Sil

I had the same error in my firmware. I think that it occur when all buffers  in multidmachanel  is full. Now I check are there any empty buffer before calling CyU3PDmaMultiChannelCommitBuffer.



Re: CyU3PDmaMultiChannelCommitBuffer() returns error code 71 (CY_U3P_ERROR_INVALID_SEQUENCE)

Sil posted on 20 Jul 2012 07:13 AM PST
Top Contributor
93 Forum Posts

I have now added additional logic that should prevent buffer overflow. If there is no free bufer available, I will call CyU3PDmaMultiChannelDiscardBuffer() to drop the current input buffer. However, I still get return value 71 after some time. I added a call to CyU3PDmaMultiChannelGetStatus() and found that status of DMA channel is DMA_ACTIVE. Does it mean I cannot discard the current producer buffer if DMA is active?



Re: CyU3PDmaMultiChannelCommitBuffer() returns error code 71 (CY_U3P_ERROR_INVALID_SEQUENCE)

Sil posted on 20 Jul 2012 07:14 AM PST
Top Contributor
93 Forum Posts

Just to clarify: Now I get return value 71 from CyU3PDmaMultiChannelDiscardBuffer()






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.