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:
Родитель
676ad58553
Коммит
25ef756385
|
@ -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;
|
||||
|
@ -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)
|
||||
|
|
Загрузка…
Ссылка в новой задаче