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

rpmsg: set ept address to incease num when alloc from the bitmap #514

Merged
merged 1 commit into from
Oct 31, 2023

Conversation

GUIDINGLI
Copy link
Contributor

@GUIDINGLI GUIDINGLI commented Oct 12, 2023

rpmsg: set ept address to incease num when alloc from the bitmap

CPU0                                CPU1
create_ept1:addr1                   create_ept1
OK                       <======    msg1
OK                       <======    msg2
OK                       <======    msg3
                           msg4
                         <======    msg4 on the virtioqueue
close_ept1                          close_ept1

create_ept2:addr1                   create_ept1
(same addr with ept1)
                           msg4
ept2 recv ept1 msg ERROR <======

The msg4 which belong to ep1, error received by ept2.

For the issue, I give a resolve method,
for the rpmsg_get_address(), always return a new increased num.

This should compile with OpenAMP/libmetal#263

Copy link
Collaborator

@arnopo arnopo left a comment

Choose a reason for hiding this comment

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

The issue is well described in the commit message.
Could you also explain in the commit message the solution implemented?

lib/rpmsg/rpmsg.c Outdated Show resolved Hide resolved
@GUIDINGLI
Copy link
Contributor Author

The issue is well described in the commit message. Could you also explain in the commit message the solution implemented?

@arnopo
Commit message updated, please review

lib/rpmsg/rpmsg.c Outdated Show resolved Hide resolved
CPU0                                CPU1
create_ept1:addr1                   create_ept1
OK                       <======    msg1
OK                       <======    msg2
OK                       <======    msg3
                           msg4
                         <======    msg4 on the virtioqueue
close_ept1                          close_ept1

create_ept2:addr1                   create_ept1
(same addr with ept1)
                           msg4
ept2 recv ept1 msg ERROR <======

The msg4 which belong to ep1, error received by ept2.

For this issue, I give a resolve method:
Let the rpmsg_get_address() always return a new increased num.

Signed-off-by: Guiding Li <liguiding1@xiaomi.com>
Copy link
Collaborator

@xiaoxiang781216 xiaoxiang781216 left a comment

Choose a reason for hiding this comment

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

LGTM.

@arnopo arnopo added this to the Release V2024.04 milestone Oct 26, 2023
@arnopo arnopo merged commit bbefedd into OpenAMP:main Oct 31, 2023
3 checks passed
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.

4 participants