2010-01-27 17:00:41

by Alexander Schmidt

[permalink] [raw]
Subject: [PATCH 0/2] ib/ehca: fixes for -next

Hi Roland,

please apply these two patches for your -next tree.

Regards,
Alex


2010-01-27 17:02:04

by Alexander Schmidt

[permalink] [raw]
Subject: [PATCH 1/2] ib/ehca: Do not turn off irqs in tasklet context

The irq_spinlock is only taken in tasklet context, so it is safe not to
disable hardware interrupts.

Signed-off-by: Alexander Schmidt <[email protected]>
---
drivers/infiniband/hw/ehca/ehca_irq.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

--- linux-2.6.orig/drivers/infiniband/hw/ehca/ehca_irq.c
+++ linux-2.6/drivers/infiniband/hw/ehca/ehca_irq.c
@@ -548,11 +548,10 @@ void ehca_process_eq(struct ehca_shca *s
struct ehca_eq *eq = &shca->eq;
struct ehca_eqe_cache_entry *eqe_cache = eq->eqe_cache;
u64 eqe_value, ret;
- unsigned long flags;
int eqe_cnt, i;
int eq_empty = 0;

- spin_lock_irqsave(&eq->irq_spinlock, flags);
+ spin_lock(&eq->irq_spinlock);
if (is_irq) {
const int max_query_cnt = 100;
int query_cnt = 0;
@@ -643,7 +642,7 @@ void ehca_process_eq(struct ehca_shca *s
} while (1);

unlock_irq_spinlock:
- spin_unlock_irqrestore(&eq->irq_spinlock, flags);
+ spin_unlock(&eq->irq_spinlock);
}

void ehca_tasklet_eq(unsigned long data)

2010-01-27 17:03:14

by Alexander Schmidt

[permalink] [raw]
Subject: [PATCH 2/2] ib/ehca: allow access for ib_query_qp()

The max_dest_rd_atomic and max_qp_rd_atomic values are
properly returned by query_qp(), so there should not be
an error returned when they are queried.

Signed-off-by: Alexander Schmidt <[email protected]>
---
drivers/infiniband/hw/ehca/ehca_qp.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

--- linux-2.6.orig/drivers/infiniband/hw/ehca/ehca_qp.c
+++ linux-2.6/drivers/infiniband/hw/ehca/ehca_qp.c
@@ -55,9 +55,7 @@ static struct kmem_cache *qp_cache;
/*
* attributes not supported by query qp
*/
-#define QP_ATTR_QUERY_NOT_SUPPORTED (IB_QP_MAX_DEST_RD_ATOMIC | \
- IB_QP_MAX_QP_RD_ATOMIC | \
- IB_QP_ACCESS_FLAGS | \
+#define QP_ATTR_QUERY_NOT_SUPPORTED (IB_QP_ACCESS_FLAGS | \
IB_QP_EN_SQD_ASYNC_NOTIFY)

/*

2010-02-12 23:25:27

by Roland Dreier

[permalink] [raw]