diff options
author | Eran Ben Elisha <eranbe@mellanox.com> | 2016-02-11 10:24:42 +0200 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-02-11 11:05:56 -0500 |
commit | ee50aeac60ba5c4c7e072fbc0c9aa2043c8896e6 (patch) | |
tree | c1e2f8652b33fe7931b73518ff50cbfbd9f39363 | |
parent | fa51b247d67b521e1a1103cad75eb7a666fc9ff9 (diff) | |
download | op-kernel-dev-ee50aeac60ba5c4c7e072fbc0c9aa2043c8896e6.zip op-kernel-dev-ee50aeac60ba5c4c7e072fbc0c9aa2043c8896e6.tar.gz |
IB/core: Fix reading capability mask of the port info class
When checking specific attribute from a bit mask, need to use bitwise
AND and not logical AND, fixed that.
Fixes: 145d9c541032 ('IB/core: Display extended counter set if
available')
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Matan Barak <matanb@mellanox.com>
Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r-- | drivers/infiniband/core/sysfs.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c index ec46386..14606af 100644 --- a/drivers/infiniband/core/sysfs.c +++ b/drivers/infiniband/core/sysfs.c @@ -720,12 +720,11 @@ static struct attribute_group *get_counter_table(struct ib_device *dev, if (get_perf_mad(dev, port_num, IB_PMA_CLASS_PORT_INFO, &cpi, 40, sizeof(cpi)) >= 0) { - - if (cpi.capability_mask && IB_PMA_CLASS_CAP_EXT_WIDTH) + if (cpi.capability_mask & IB_PMA_CLASS_CAP_EXT_WIDTH) /* We have extended counters */ return &pma_group_ext; - if (cpi.capability_mask && IB_PMA_CLASS_CAP_EXT_WIDTH_NOIETF) + if (cpi.capability_mask & IB_PMA_CLASS_CAP_EXT_WIDTH_NOIETF) /* But not the IETF ones */ return &pma_group_noietf; } |