summaryrefslogtreecommitdiff
path: root/drivers/infiniband/sw/rdmavt/vt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/sw/rdmavt/vt.c')
-rw-r--r--drivers/infiniband/sw/rdmavt/vt.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/infiniband/sw/rdmavt/vt.c b/drivers/infiniband/sw/rdmavt/vt.c
index e92af9c6521e..7dab0cac5937 100644
--- a/drivers/infiniband/sw/rdmavt/vt.c
+++ b/drivers/infiniband/sw/rdmavt/vt.c
@@ -221,7 +221,8 @@ int rvt_register_device(struct rvt_dev_info *rdi)
if ((!rdi->driver_f.port_callback) ||
(!rdi->driver_f.get_card_name) ||
- (!rdi->driver_f.get_pci_dev)) {
+ (!rdi->driver_f.get_pci_dev) ||
+ (!rdi->driver_f.check_ah)) {
return -EINVAL;
}
@@ -252,6 +253,8 @@ int rvt_register_device(struct rvt_dev_info *rdi)
CHECK_DRIVER_OVERRIDE(rdi, destroy_ah);
CHECK_DRIVER_OVERRIDE(rdi, modify_ah);
CHECK_DRIVER_OVERRIDE(rdi, query_ah);
+ spin_lock_init(&rdi->n_ahs_lock);
+ rdi->n_ahs_allocated = 0;
/* Shared Receive Queue */
CHECK_DRIVER_OVERRIDE(rdi, create_srq);