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

Commit 77d33ec4 authored by Prasad Sodagudi's avatar Prasad Sodagudi
Browse files

genirq: call cancel_work_sync from irq_set_affinity_notifier



When ever notification of IRQ affinity changes, call
cancel_work_sync from irq_set_affinity_notifier to cancel
all pending works to avoid work list corruption.

Change-Id: I1f093bcc43be8c6696bad29250e4926cbc6c4029
Signed-off-by: default avatarPrasad Sodagudi <psodagud@codeaurora.org>
parent 0710e709
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -308,6 +308,9 @@ irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify)
	desc->affinity_notify = notify;
	raw_spin_unlock_irqrestore(&desc->lock, flags);

	if (!notify && old_notify)
		cancel_work_sync(&old_notify->work);

	if (old_notify)
		kref_put(&old_notify->kref, old_notify->release);