aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2014-10-27 01:25:05 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-11-05 23:06:33 -0500
commit7e041abf79c1b555b9d117d4a319b505ee601f55 (patch)
tree5e412b550dc16ddaff8cfcf881ca4936988f84e5
parentf0fd1b73b0f3589ff90582fbbb5eedc149caefab (diff)
tty: ipwireless: Fix probable mask then right shift defects
Precedence of & and >> is not the same and is not left to right. shift has higher precedence and should be done after the mask. Add parentheses around the masks. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: David Sterba <dsterba@suse.cz> Reviewed-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/ipwireless/hardware.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/tty/ipwireless/hardware.c b/drivers/tty/ipwireless/hardware.c
index 2c14842541dd..5c77e1eac4ee 100644
--- a/drivers/tty/ipwireless/hardware.c
+++ b/drivers/tty/ipwireless/hardware.c
@@ -378,9 +378,9 @@ static void swap_packet_bitfield_to_le(unsigned char *data)
378 /* 378 /*
379 * transform bits from aa.bbb.ccc to ccc.bbb.aa 379 * transform bits from aa.bbb.ccc to ccc.bbb.aa
380 */ 380 */
381 ret |= tmp & 0xc0 >> 6; 381 ret |= (tmp & 0xc0) >> 6;
382 ret |= tmp & 0x38 >> 1; 382 ret |= (tmp & 0x38) >> 1;
383 ret |= tmp & 0x07 << 5; 383 ret |= (tmp & 0x07) << 5;
384 *data = ret & 0xff; 384 *data = ret & 0xff;
385#endif 385#endif
386} 386}
@@ -393,9 +393,9 @@ static void swap_packet_bitfield_from_le(unsigned char *data)
393 /* 393 /*
394 * transform bits from ccc.bbb.aa to aa.bbb.ccc 394 * transform bits from ccc.bbb.aa to aa.bbb.ccc
395 */ 395 */
396 ret |= tmp & 0xe0 >> 5; 396 ret |= (tmp & 0xe0) >> 5;
397 ret |= tmp & 0x1c << 1; 397 ret |= (tmp & 0x1c) << 1;
398 ret |= tmp & 0x03 << 6; 398 ret |= (tmp & 0x03) << 6;
399 *data = ret & 0xff; 399 *data = ret & 0xff;
400#endif 400#endif
401} 401}