diff options
-rw-r--r-- | net/tipc/msg.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/tipc/msg.h b/net/tipc/msg.h index 88a2ee03bb2..6ad070d8770 100644 --- a/net/tipc/msg.h +++ b/net/tipc/msg.h @@ -70,8 +70,10 @@ static inline void msg_set_bits(struct tipc_msg *m, u32 w, u32 pos, u32 mask, u32 val) { val = (val & mask) << pos; - m->hdr[w] &= ~htonl(mask << pos); - m->hdr[w] |= htonl(val); + val = htonl(val); + mask = htonl(mask << pos); + m->hdr[w] &= ~mask; + m->hdr[w] |= val; } /* |