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

Commit 7fce29f6 authored by Srinivas Rao L's avatar Srinivas Rao L Committed by Gerrit - the friendly Code Review server
Browse files

qos: Disable irq notifier when qos request is removed



When a qos request is added with IRQ affinity, irq notifier for that irq
is added and without disabling the irq notifier if the irq is free it
throws a warning. So disable irq notifier when the qos request is
removed.

Change-Id: I50faa4ecbe1b632c0f0f203ca52faf18753c33d4
Signed-off-by: default avatarSrinivas Rao L <lsrao@codeaurora.org>
Signed-off-by: default avatarLina Iyer <ilina@codeaurora.org>
[fix checkpatch issues]
parent f5f31790
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -728,12 +728,22 @@ void pm_qos_remove_request(struct pm_qos_request *req)
		/* silent return to keep pcm code cleaner */

	if (!pm_qos_request_active(req)) {
		WARN(1, KERN_ERR "pm_qos_remove_request() called for unknown object\n");
		WARN(1, "%s called for unknown object\n", __func__);
		return;
	}

	cancel_delayed_work_sync(&req->work);

#ifdef CONFIG_SMP
	if (req->type == PM_QOS_REQ_AFFINE_IRQ) {
		int ret = 0;
		/* Get the current affinity */
		ret = irq_set_affinity_notifier(req->irq, NULL);
		if (ret)
			WARN(1, "IRQ affinity notify set failed\n");
	}
#endif

	trace_pm_qos_remove_request(req->pm_qos_class, PM_QOS_DEFAULT_VALUE);
	pm_qos_update_target(pm_qos_array[req->pm_qos_class]->constraints,
			     &req->node, PM_QOS_REMOVE_REQ,