aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/ipath/ipath_verbs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_verbs.c')
-rw-r--r--drivers/infiniband/hw/ipath/ipath_verbs.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.c b/drivers/infiniband/hw/ipath/ipath_verbs.c
index 6af5402fe447..18375e831744 100644
--- a/drivers/infiniband/hw/ipath/ipath_verbs.c
+++ b/drivers/infiniband/hw/ipath/ipath_verbs.c
@@ -792,6 +792,17 @@ static struct ib_ah *ipath_create_ah(struct ib_pd *pd,
792 goto bail; 792 goto bail;
793 } 793 }
794 794
795 if (ah_attr->dlid == 0) {
796 ret = ERR_PTR(-EINVAL);
797 goto bail;
798 }
799
800 if (ah_attr->port_num != 1 ||
801 ah_attr->port_num > pd->device->phys_port_cnt) {
802 ret = ERR_PTR(-EINVAL);
803 goto bail;
804 }
805
795 ah = kmalloc(sizeof *ah, GFP_ATOMIC); 806 ah = kmalloc(sizeof *ah, GFP_ATOMIC);
796 if (!ah) { 807 if (!ah) {
797 ret = ERR_PTR(-ENOMEM); 808 ret = ERR_PTR(-ENOMEM);