diff options
author | Matan Barak <matanb@mellanox.com> | 2015-06-11 15:35:25 +0200 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2015-06-12 20:49:10 +0200 |
commit | 2528e33e680921d95092f83c4a64046744f111b3 (patch) | |
tree | c1376e9e5370c13a8f1f47ed9e4ecc2188b133f1 /drivers/infiniband/hw/mlx4/main.c | |
parent | IB/core: Add timestamp_mask and hca_core_clock to query_device (diff) | |
download | linux-2528e33e680921d95092f83c4a64046744f111b3.tar.xz linux-2528e33e680921d95092f83c4a64046744f111b3.zip |
IB/core: Pass hardware specific data in query_device
Vendors should be able to pass vendor specific data to/from
user-space via query_device uverb. In order to do this,
we need to pass the vendors' specific udata.
Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/mlx4/main.c')
-rw-r--r-- | drivers/infiniband/hw/mlx4/main.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index af2071ed1437..6cd8cd5bf1c5 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c @@ -132,7 +132,8 @@ static int num_ib_ports(struct mlx4_dev *dev) } static int mlx4_ib_query_device(struct ib_device *ibdev, - struct ib_device_attr *props) + struct ib_device_attr *props, + struct ib_udata *uhw) { struct mlx4_ib_dev *dev = to_mdev(ibdev); struct ib_smp *in_mad = NULL; @@ -140,6 +141,9 @@ static int mlx4_ib_query_device(struct ib_device *ibdev, int err = -ENOMEM; int have_ib_ports; + if (uhw->inlen || uhw->outlen) + return -EINVAL; + in_mad = kzalloc(sizeof *in_mad, GFP_KERNEL); out_mad = kmalloc(sizeof *out_mad, GFP_KERNEL); if (!in_mad || !out_mad) |