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 <alexs@linux.vnet.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
676ad58553
commit
25ef756385
|
@ -548,11 +548,10 @@ void ehca_process_eq(struct ehca_shca *shca, int is_irq)
|
||||||
struct ehca_eq *eq = &shca->eq;
|
struct ehca_eq *eq = &shca->eq;
|
||||||
struct ehca_eqe_cache_entry *eqe_cache = eq->eqe_cache;
|
struct ehca_eqe_cache_entry *eqe_cache = eq->eqe_cache;
|
||||||
u64 eqe_value, ret;
|
u64 eqe_value, ret;
|
||||||
unsigned long flags;
|
|
||||||
int eqe_cnt, i;
|
int eqe_cnt, i;
|
||||||
int eq_empty = 0;
|
int eq_empty = 0;
|
||||||
|
|
||||||
spin_lock_irqsave(&eq->irq_spinlock, flags);
|
spin_lock(&eq->irq_spinlock);
|
||||||
if (is_irq) {
|
if (is_irq) {
|
||||||
const int max_query_cnt = 100;
|
const int max_query_cnt = 100;
|
||||||
int query_cnt = 0;
|
int query_cnt = 0;
|
||||||
|
@ -643,7 +642,7 @@ void ehca_process_eq(struct ehca_shca *shca, int is_irq)
|
||||||
} while (1);
|
} while (1);
|
||||||
|
|
||||||
unlock_irq_spinlock:
|
unlock_irq_spinlock:
|
||||||
spin_unlock_irqrestore(&eq->irq_spinlock, flags);
|
spin_unlock(&eq->irq_spinlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ehca_tasklet_eq(unsigned long data)
|
void ehca_tasklet_eq(unsigned long data)
|
||||||
|
|
Loading…
Reference in New Issue