summaryrefslogtreecommitdiffstats
path: root/sys/dev/ntb
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2016-08-18 09:19:01 +0000
committermav <mav@FreeBSD.org>2016-08-18 09:19:01 +0000
commitce791adf9c38c113e080988cfaa9cc419b4b8afd (patch)
treefc80df228c6fefb5f65f103274a264123fb43837 /sys/dev/ntb
parente778738ef17bfd586fcd2a0fb135985952eada3f (diff)
downloadFreeBSD-src-ce791adf9c38c113e080988cfaa9cc419b4b8afd.zip
FreeBSD-src-ce791adf9c38c113e080988cfaa9cc419b4b8afd.tar.gz
MFC r302486: Fix operation with multiple qps.
Diffstat (limited to 'sys/dev/ntb')
-rw-r--r--sys/dev/ntb/ntb_transport.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/dev/ntb/ntb_transport.c b/sys/dev/ntb/ntb_transport.c
index 276b50d..e2c6777 100644
--- a/sys/dev/ntb/ntb_transport.c
+++ b/sys/dev/ntb/ntb_transport.c
@@ -470,7 +470,7 @@ ntb_transport_init_queue(struct ntb_transport_ctx *nt, unsigned int qp_num)
qp->event_handler = NULL;
ntb_qp_link_down_reset(qp);
- if (nt->qp_count % mw_count && mw_num + 1 < nt->qp_count / mw_count)
+ if (mw_num < nt->qp_count % mw_count)
num_qps_mw = nt->qp_count / mw_count + 1;
else
num_qps_mw = nt->qp_count / mw_count;
@@ -567,7 +567,7 @@ ntb_transport_create_queue(void *data, device_t dev,
unsigned int free_queue;
int i;
- free_queue = ffs_bit(&nt->qp_bitmap);
+ free_queue = ffs_bit(&nt->qp_bitmap_free);
if (free_queue == 0)
return (NULL);
@@ -612,7 +612,7 @@ ntb_transport_link_up(struct ntb_transport_qp *qp)
qp->client_ready = true;
- ntb_printf(2, "qp client ready\n");
+ ntb_printf(2, "qp %d client ready\n", qp->qp_num);
if (nt->link_is_up)
callout_reset(&qp->link_work, 0, ntb_qp_link_work, qp);
@@ -1161,7 +1161,7 @@ ntb_transport_setup_qp_mw(struct ntb_transport_ctx *nt, unsigned int qp_num)
if (mw->virt_addr == NULL)
return (ENOMEM);
- if (nt->qp_count % mw_count && mw_num + 1 < nt->qp_count / mw_count)
+ if (mw_num < nt->qp_count % mw_count)
num_qps_mw = nt->qp_count / mw_count + 1;
else
num_qps_mw = nt->qp_count / mw_count;
@@ -1211,7 +1211,7 @@ ntb_qp_link_work(void *arg)
/* See if the remote side is up */
if ((val & (1ull << qp->qp_num)) != 0) {
- ntb_printf(2, "qp link up\n");
+ ntb_printf(2, "qp %d link up\n", qp->qp_num);
qp->link_is_up = true;
if (qp->event_handler != NULL)
OpenPOWER on IntegriCloud