Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25ef7563 authored by Alexander Schmidt's avatar Alexander Schmidt Committed by Roland Dreier
Browse files

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: default avatarAlexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 676ad585
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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)