Skip to content

Commit

Permalink
IB/ehca: Do not turn off irqs in tasklet context
Browse files Browse the repository at this point in the history
The irq_spinlock is only taken in tasklet context, so it is safe not to
disable hardware interrupts.

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
  • Loading branch information
Alexander Schmidt authored and Roland Dreier committed Feb 12, 2010
1 parent 676ad58 commit 25ef756
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/infiniband/hw/ehca/ehca_irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -548,11 +548,10 @@ void ehca_process_eq(struct ehca_shca *shca, int is_irq)
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;
Expand Down Expand Up @@ -643,7 +642,7 @@ void ehca_process_eq(struct ehca_shca *shca, int is_irq)
} while (1);

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

void ehca_tasklet_eq(unsigned long data)
Expand Down

0 comments on commit 25ef756

Please sign in to comment.