IB/rdmavt: Allow reserving just one qpn
authorHarish Chegondi <harish.chegondi@intel.com>
Fri, 22 Jan 2016 20:50:30 +0000 (12:50 -0800)
committerDoug Ledford <dledford@redhat.com>
Fri, 11 Mar 2016 01:37:20 +0000 (20:37 -0500)
qib needs to reserve only one qpn for non-verbs stuff. Also fixed the for
loop to reserve the end qpn.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/sw/rdmavt/qp.c

index 44485ada8281356570cffa6ac46d45424da1e0be..ee19eae38d0b405ea90229cd9cb7204d0b02b868 100644 (file)
@@ -79,7 +79,7 @@ static int init_qpn_table(struct rvt_dev_info *rdi, struct rvt_qpn_table *qpt)
        struct rvt_qpn_map *map;
        int ret = 0;
 
-       if (!(rdi->dparms.qpn_res_end > rdi->dparms.qpn_res_start))
+       if (!(rdi->dparms.qpn_res_end >= rdi->dparms.qpn_res_start))
                return -EINVAL;
 
        spin_lock_init(&qpt->lock);
@@ -105,7 +105,7 @@ static int init_qpn_table(struct rvt_dev_info *rdi, struct rvt_qpn_table *qpt)
 
        rvt_pr_info(rdi, "Reserving QPNs from 0x%x to 0x%x for non-verbs use\n",
                    rdi->dparms.qpn_res_start, rdi->dparms.qpn_res_end);
-       for (i = rdi->dparms.qpn_res_start; i < rdi->dparms.qpn_res_end; i++) {
+       for (i = rdi->dparms.qpn_res_start; i <= rdi->dparms.qpn_res_end; i++) {
                if (!map->page) {
                        get_map_page(qpt, map);
                        if (!map->page) {