IB/core: Specify attribute_id in port_table_attribute
authorChristoph Lameter <cl@linux.com>
Mon, 21 Dec 2015 14:20:28 +0000 (08:20 -0600)
committerDoug Ledford <dledford@redhat.com>
Wed, 23 Dec 2015 20:58:30 +0000 (15:58 -0500)
Add the attr_id on port_table_attribute since we will have to add
a different port_table_attribute for the extended attribute soon.

Reviewed-by: Hal Rosenstock <hal@mellanox.com>
Signed-off-by: Christoph Lameter <cl@linux.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/sysfs.c

index 3eeb245..09cee09 100644 (file)
@@ -40,6 +40,7 @@
 #include <linux/netdevice.h>
 
 #include <rdma/ib_mad.h>
+#include <rdma/ib_pma.h>
 
 struct ib_port;
 
@@ -75,6 +76,7 @@ struct port_table_attribute {
        struct port_attribute   attr;
        char                    name[8];
        int                     index;
+       int                     attr_id;
 };
 
 static ssize_t port_attr_show(struct kobject *kobj,
@@ -395,7 +397,8 @@ static ssize_t show_port_pkey(struct ib_port *p, struct port_attribute *attr,
 #define PORT_PMA_ATTR(_name, _counter, _width, _offset)                        \
 struct port_table_attribute port_pma_attr_##_name = {                  \
        .attr  = __ATTR(_name, S_IRUGO, show_pma_counter, NULL),        \
-       .index = (_offset) | ((_width) << 16) | ((_counter) << 24)      \
+       .index = (_offset) | ((_width) << 16) | ((_counter) << 24),     \
+       .attr_id = IB_PMA_PORT_COUNTERS ,                               \
 }
 
 /*
@@ -457,7 +460,7 @@ static ssize_t show_pma_counter(struct ib_port *p, struct port_attribute *attr,
        ssize_t ret;
        u8 data[8];
 
-       ret = get_perf_mad(p->ibdev, p->port_num, cpu_to_be16(0x12), &data,
+       ret = get_perf_mad(p->ibdev, p->port_num, tab_attr->attr_id, &data,
                        40 + offset / 8, sizeof(data));
        if (ret < 0)
                return sprintf(buf, "N/A (no PMA)\n");