* [git patch review 2/4] IB/mthca: check return value in mthca_dev_lim call
2006-01-06 0:19 [git patch review 1/4] IB/mthca: fix WQE size calculation in create-srq Roland Dreier
@ 2006-01-06 0:19 ` Roland Dreier
2006-01-06 0:19 ` [git patch review 3/4] IB/mthca: check port validity in modify_qp Roland Dreier
0 siblings, 1 reply; 4+ messages in thread
From: Roland Dreier @ 2006-01-06 0:19 UTC (permalink / raw)
To: linux-kernel, openib-general
Check error return on call to mthca_dev_lim for Tavor
(as is done for memfree).
Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
---
drivers/infiniband/hw/mthca/mthca_main.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
aa2f9367790ad81ef51d3f667124227ca3003d3b
diff --git a/drivers/infiniband/hw/mthca/mthca_main.c b/drivers/infiniband/hw/mthca/mthca_main.c
index 6f94b25..8b00d9a 100644
--- a/drivers/infiniband/hw/mthca/mthca_main.c
+++ b/drivers/infiniband/hw/mthca/mthca_main.c
@@ -261,6 +261,10 @@ static int __devinit mthca_init_tavor(st
}
err = mthca_dev_lim(mdev, &dev_lim);
+ if (err) {
+ mthca_err(mdev, "QUERY_DEV_LIM command failed, aborting.\n");
+ goto err_disable;
+ }
profile = default_profile;
profile.num_uar = dev_lim.uar_size / PAGE_SIZE;
--
0.99.9n
^ permalink raw reply [flat|nested] 4+ messages in thread
* [git patch review 4/4] IB/mthca: create_eq with size not a power of 2
2006-01-06 0:19 ` [git patch review 3/4] IB/mthca: check port validity in modify_qp Roland Dreier
@ 2006-01-06 0:19 ` Roland Dreier
0 siblings, 0 replies; 4+ messages in thread
From: Roland Dreier @ 2006-01-06 0:19 UTC (permalink / raw)
To: linux-kernel, openib-general
Fix mthca_create_eq for when the EQ size is not a power of 2.
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
---
drivers/infiniband/hw/mthca/mthca_eq.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
466200562ccd80f728f7ef602d2b97b4fdedd566
diff --git a/drivers/infiniband/hw/mthca/mthca_eq.c b/drivers/infiniband/hw/mthca/mthca_eq.c
index 34d68e5..e8a948f 100644
--- a/drivers/infiniband/hw/mthca/mthca_eq.c
+++ b/drivers/infiniband/hw/mthca/mthca_eq.c
@@ -484,8 +484,7 @@ static int __devinit mthca_create_eq(str
u8 intr,
struct mthca_eq *eq)
{
- int npages = (nent * MTHCA_EQ_ENTRY_SIZE + PAGE_SIZE - 1) /
- PAGE_SIZE;
+ int npages;
u64 *dma_list = NULL;
dma_addr_t t;
struct mthca_mailbox *mailbox;
@@ -496,6 +495,7 @@ static int __devinit mthca_create_eq(str
eq->dev = dev;
eq->nent = roundup_pow_of_two(max(nent, 2));
+ npages = ALIGN(eq->nent * MTHCA_EQ_ENTRY_SIZE, PAGE_SIZE) / PAGE_SIZE;
eq->page_list = kmalloc(npages * sizeof *eq->page_list,
GFP_KERNEL);
--
0.99.9n
^ permalink raw reply [flat|nested] 4+ messages in thread
* [git patch review 1/4] IB/mthca: fix WQE size calculation in create-srq
@ 2006-01-06 0:19 Roland Dreier
2006-01-06 0:19 ` [git patch review 2/4] IB/mthca: check return value in mthca_dev_lim call Roland Dreier
0 siblings, 1 reply; 4+ messages in thread
From: Roland Dreier @ 2006-01-06 0:19 UTC (permalink / raw)
To: linux-kernel, openib-general
Thinko: 64 bytes is the minimum SRQ WQE size (not the maximum).
Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
---
drivers/infiniband/hw/mthca/mthca_srq.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
1d7d2f6f476cf7aa65f9f740a6c932fb75608110
diff --git a/drivers/infiniband/hw/mthca/mthca_srq.c b/drivers/infiniband/hw/mthca/mthca_srq.c
index f7d2342..e7e153d 100644
--- a/drivers/infiniband/hw/mthca/mthca_srq.c
+++ b/drivers/infiniband/hw/mthca/mthca_srq.c
@@ -201,7 +201,7 @@ int mthca_alloc_srq(struct mthca_dev *de
if (mthca_is_memfree(dev))
srq->max = roundup_pow_of_two(srq->max + 1);
- ds = min(64UL,
+ ds = max(64UL,
roundup_pow_of_two(sizeof (struct mthca_next_seg) +
srq->max_gs * sizeof (struct mthca_data_seg)));
srq->wqe_shift = long_log2(ds);
--
0.99.9n
^ permalink raw reply [flat|nested] 4+ messages in thread
* [git patch review 3/4] IB/mthca: check port validity in modify_qp
2006-01-06 0:19 ` [git patch review 2/4] IB/mthca: check return value in mthca_dev_lim call Roland Dreier
@ 2006-01-06 0:19 ` Roland Dreier
2006-01-06 0:19 ` [git patch review 4/4] IB/mthca: create_eq with size not a power of 2 Roland Dreier
0 siblings, 1 reply; 4+ messages in thread
From: Roland Dreier @ 2006-01-06 0:19 UTC (permalink / raw)
To: linux-kernel, openib-general
Modify_qp should check that the physical port number provided
is a legal value.
Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
---
drivers/infiniband/hw/mthca/mthca_qp.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
38d1e793471d95728219f500bbb8bd25658d73b0
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c
index d786ef4..ea45fa4 100644
--- a/drivers/infiniband/hw/mthca/mthca_qp.c
+++ b/drivers/infiniband/hw/mthca/mthca_qp.c
@@ -621,6 +621,12 @@ int mthca_modify_qp(struct ib_qp *ibqp,
return -EINVAL;
}
+ if ((attr_mask & IB_QP_PORT) &&
+ (attr->port_num == 0 || attr->port_num > dev->limits.num_ports)) {
+ mthca_dbg(dev, "Port number (%u) is invalid\n", attr->port_num);
+ return -EINVAL;
+ }
+
if (attr_mask & IB_QP_MAX_QP_RD_ATOMIC &&
attr->max_rd_atomic > dev->limits.max_qp_init_rdma) {
mthca_dbg(dev, "Max rdma_atomic as initiator %u too large (max is %d)\n",
--
0.99.9n
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-01-06 0:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-06 0:19 [git patch review 1/4] IB/mthca: fix WQE size calculation in create-srq Roland Dreier
2006-01-06 0:19 ` [git patch review 2/4] IB/mthca: check return value in mthca_dev_lim call Roland Dreier
2006-01-06 0:19 ` [git patch review 3/4] IB/mthca: check port validity in modify_qp Roland Dreier
2006-01-06 0:19 ` [git patch review 4/4] IB/mthca: create_eq with size not a power of 2 Roland Dreier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®