diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2017-05-22 11:33:12 -0700 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2017-05-22 17:09:55 -0700 |
commit | 40ee7474a319b8ad54155fd2cb6385df8e6f05bb (patch) | |
tree | b952571498b3383c344ac5e83df01a482211f4c8 /middleware/multicore/open-amp/rpmsg/rpmsg_core.c | |
parent | a03211ad94d1972fa255c5892665e14ca623d218 (diff) |
fix strict alias warning
Use explicit pointer to struct rpmsg_hdr_reserved to avoid warnings:
rpmsg_ext.c:160:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
((struct rpmsg_hdr_reserved*)&hdr->reserved)->idx = idx;
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Diffstat (limited to 'middleware/multicore/open-amp/rpmsg/rpmsg_core.c')
-rw-r--r-- | middleware/multicore/open-amp/rpmsg/rpmsg_core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/middleware/multicore/open-amp/rpmsg/rpmsg_core.c b/middleware/multicore/open-amp/rpmsg/rpmsg_core.c index 1553280..0fc7c4d 100644 --- a/middleware/multicore/open-amp/rpmsg/rpmsg_core.c +++ b/middleware/multicore/open-amp/rpmsg/rpmsg_core.c @@ -523,6 +523,7 @@ void rpmsg_rx_callback(struct virtqueue *vq) { struct rpmsg_channel *rp_chnl; struct rpmsg_endpoint *rp_ept; struct rpmsg_hdr *rp_hdr; + struct rpmsg_hdr_reserved *reserved; struct llist *node; unsigned long len; unsigned short idx; @@ -596,8 +597,9 @@ void rpmsg_rx_callback(struct virtqueue *vq) { { /* 'rp_hdr->reserved' field is now used as storage for * 'idx' and 'len' to release buffer later */ - ((struct rpmsg_hdr_reserved*)&rp_hdr->reserved)->idx = idx; - ((struct rpmsg_hdr_reserved*)&rp_hdr->reserved)->totlen = len; + reserved = (struct rpmsg_hdr_reserved*)&rp_hdr->reserved; + reserved->idx = (uint16_t)idx; + reserved->totlen = (uint16_t)len; } else { |