IB/mlx4: Fix flow label returned from query QP
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Wed, 18 Jul 2007 01:37:38 +0000 (18:37 -0700)
committerRoland Dreier <rolandd@cisco.com>
Wed, 18 Jul 2007 01:37:38 +0000 (18:37 -0700)
Correct the mask used to get the flow label, since the field is 20 bits,
not 24 bits.

Found by Dotan Barak and Yaron Gepstein of Mellanox.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/mlx4/qp.c

index 40042184ad589b0b8b9d124b6622637f11251f02..2d00b4ee80c0abe2d5b1267ee9a51680d57348ff 100644 (file)
@@ -1515,7 +1515,7 @@ static void to_ib_ah_attr(struct mlx4_dev *dev, struct ib_ah_attr *ib_ah_attr,
                ib_ah_attr->grh.traffic_class =
                        (be32_to_cpu(path->tclass_flowlabel) >> 20) & 0xff;
                ib_ah_attr->grh.flow_label =
-                       be32_to_cpu(path->tclass_flowlabel) & 0xffffff;
+                       be32_to_cpu(path->tclass_flowlabel) & 0xfffff;
                memcpy(ib_ah_attr->grh.dgid.raw,
                        path->rgid, sizeof ib_ah_attr->grh.dgid.raw);
        }