diff options
Diffstat (limited to 'kernel/irq/manage.c')
| -rw-r--r-- | kernel/irq/manage.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 1401afa0d58a..78f3ddeb7fe4 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -357,8 +357,10 @@ irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify)  	desc->affinity_notify = notify;  	raw_spin_unlock_irqrestore(&desc->lock, flags); -	if (old_notify) +	if (old_notify) { +		cancel_work_sync(&old_notify->work);  		kref_put(&old_notify->kref, old_notify->release); +	}  	return 0;  } @@ -779,7 +781,7 @@ int __irq_set_trigger(struct irq_desc *desc, unsigned long flags)  		ret = 0;  		break;  	default: -		pr_err("Setting trigger mode %lu for irq %u failed (%pF)\n", +		pr_err("Setting trigger mode %lu for irq %u failed (%pS)\n",  		       flags, irq_desc_get_irq(desc), chip->irq_set_type);  	}  	if (unmask)  | 
