From: David Vrabel Date: Mon, 7 Apr 2014 12:52:12 +0000 (+0100) Subject: Merge commit '683b6c6f82a60fabf47012581c2cfbf1b037ab95' into stable/for-linus-3.15 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2c5cb2770392fb9c5d8518688c8bc61986d70dc6;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git Merge commit '683b6c6f82a60fabf47012581c2cfbf1b037ab95' into stable/for-linus-3.15 This merge of the irq-core-for-linus branch broke the ARM build when Xen is enabled. Conflicts: drivers/xen/events/events_base.c --- 2c5cb2770392fb9c5d8518688c8bc61986d70dc6 diff --cc drivers/xen/events/events_base.c index 793053065629,c3458f58de90..d5a3de88ac59 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c @@@ -788,16 -767,7 +776,12 @@@ int xen_destroy_irq(int irq mutex_lock(&irq_mapping_update_lock); - desc = irq_to_desc(irq); - if (!desc) - goto out; - - if (xen_initial_domain()) { + /* + * If trying to remove a vector in a MSI group different + * than the first one skip the PIRQ unmap unless this vector + * is the first one in the group. + */ + if (xen_initial_domain() && !(info->u.pirq.flags & PIRQ_MSI_GROUP)) { unmap_irq.pirq = info->u.pirq.pirq; unmap_irq.domid = info->u.pirq.domid; rc = HYPERVISOR_physdev_op(PHYSDEVOP_unmap_pirq, &unmap_irq);