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

Commit c7a14939 authored by Joachim Fenkes's avatar Joachim Fenkes Committed by Roland Dreier
Browse files

IB/ehca: Remove _irqsave, move #ifdef



- In ehca_process_eq(), we're IRQ safe throughout the whole function, so we
  don't need another _irqsave in the middle of flight.

- take_over_work() is only called by comp_pool_callback(), so it can move
  into the same #ifdef block.

Signed-off-by: default avatarJoachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent c55a0ddd
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line Diff line number Diff line
@@ -517,12 +517,11 @@ void ehca_process_eq(struct ehca_shca *shca, int is_irq)
			else {
			else {
				struct ehca_cq *cq = eq->eqe_cache[i].cq;
				struct ehca_cq *cq = eq->eqe_cache[i].cq;
				comp_event_callback(cq);
				comp_event_callback(cq);
				spin_lock_irqsave(&ehca_cq_idr_lock, flags);
				spin_lock(&ehca_cq_idr_lock);
				cq->nr_events--;
				cq->nr_events--;
				if (!cq->nr_events)
				if (!cq->nr_events)
					wake_up(&cq->wait_completion);
					wake_up(&cq->wait_completion);
				spin_unlock_irqrestore(&ehca_cq_idr_lock,
				spin_unlock(&ehca_cq_idr_lock);
						       flags);
			}
			}
		} else {
		} else {
			ehca_dbg(&shca->ib_device, "Got non completion event");
			ehca_dbg(&shca->ib_device, "Got non completion event");
@@ -711,6 +710,7 @@ static void destroy_comp_task(struct ehca_comp_pool *pool,
		kthread_stop(task);
		kthread_stop(task);
}
}


#ifdef CONFIG_HOTPLUG_CPU
static void take_over_work(struct ehca_comp_pool *pool,
static void take_over_work(struct ehca_comp_pool *pool,
			   int cpu)
			   int cpu)
{
{
@@ -735,7 +735,6 @@ static void take_over_work(struct ehca_comp_pool *pool,


}
}


#ifdef CONFIG_HOTPLUG_CPU
static int comp_pool_callback(struct notifier_block *nfb,
static int comp_pool_callback(struct notifier_block *nfb,
			      unsigned long action,
			      unsigned long action,
			      void *hcpu)
			      void *hcpu)