Skip to content

Commit f5aa98f

Browse files
rpmsg: zero out rdev field in rpmsg_unregister_endpoint
so is_rpmsg_ept_ready can check the validity more easier Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
1 parent f56189b commit f5aa98f

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

lib/include/openamp/rpmsg.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,8 +342,7 @@ void rpmsg_destroy_ept(struct rpmsg_endpoint *ept);
342342
*/
343343
static inline unsigned int is_rpmsg_ept_ready(struct rpmsg_endpoint *ept)
344344
{
345-
return (ept->dest_addr != RPMSG_ADDR_ANY) &&
346-
(ept->addr != RPMSG_ADDR_ANY);
345+
return ept && ept->rdev && ept->dest_addr != RPMSG_ADDR_ANY;
347346
}
348347

349348
#if defined __cplusplus

lib/rpmsg/rpmsg.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ static void rpmsg_unregister_endpoint(struct rpmsg_endpoint *ept)
183183
rpmsg_release_address(rdev->bitmap, RPMSG_ADDR_BMP_SIZE,
184184
ept->addr);
185185
metal_list_del(&ept->node);
186+
ept->rdev = NULL;
186187
metal_mutex_release(&rdev->lock);
187188
}
188189

0 commit comments

Comments
 (0)