RDMA/nes: Rewrite expression to avoid undefined semantics
authorRoland Dreier <rolandd@cisco.com>
Wed, 14 Jul 2010 20:29:21 +0000 (13:29 -0700)
committerRoland Dreier <rolandd@cisco.com>
Wed, 14 Jul 2010 20:29:21 +0000 (13:29 -0700)
Change code like

x = expr(++x)

that assigns to x twice without a sequence point in between to the
intended (and well-defined)

x = expr(x + 1)

Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/nes/nes_hw.c

index 57874a165083df1d62ce1bbd9f4e7635b52d071d..f41d890956a11629e1b036d03e6d476ff2d7d492 100644 (file)
@@ -1970,7 +1970,7 @@ void nes_destroy_nic_qp(struct nes_vnic *nesvnic)
                        dev_kfree_skb(
                                nesvnic->nic.tx_skb[nesvnic->nic.sq_tail]);
 
-               nesvnic->nic.sq_tail = (++nesvnic->nic.sq_tail)
+               nesvnic->nic.sq_tail = (nesvnic->nic.sq_tail + 1)
                                        & (nesvnic->nic.sq_size - 1);
        }