[TIPC]: Enhancements to msg_set_bits() routine
authorAllan Stephens <allan.stephens@windriver.com>
Tue, 24 Apr 2007 21:51:55 +0000 (14:51 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 26 Apr 2007 05:29:49 +0000 (22:29 -0700)
commit1f9eda7e2b67898fb8e79b3aa3880211b51235e6
tree4c8facf142531621f69b3b6c42e3370e94897260
parent43fb45cb79e9441a79ece206cf741774500dd627
[TIPC]: Enhancements to msg_set_bits() routine

This patch makes two enhancements to msg_set_bits():

1) It now ignores any bits of the new field value that are not
   covered by the mask being used.  (Previously, if the new value
   exceeded the size of the mask the extra bits could corrupt
   other fields in the message header word being updated.)

2) The code has been optimized to minimize the number of run-time
   endianness conversion operations by leveraging the fact that the
   mask (and, in some cases, the value as well) is constant and the
   necessary conversion can be performed by the compiler.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Jon Paul Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/msg.h