Merge tag 'stable/for-linus-3.15-tag' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Apr 2014 21:01:37 +0000 (14:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Apr 2014 21:01:37 +0000 (14:01 -0700)
Pull Xen features and fixes from David Vrabel:
 "Support PCI devices with multiple MSIs, performance improvement for
  kernel-based backends (by not populated m2p overrides when mapping),
  and assorted minor bug fixes and cleanups"

* tag 'stable/for-linus-3.15-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen/acpi-processor: fix enabling interrupts on syscore_resume
  xen/grant-table: Refactor gnttab_[un]map_refs to avoid m2p_override
  xen: remove XEN_PRIVILEGED_GUEST
  xen: add support for MSI message groups
  xen-pciback: Use pci_enable_msix_exact() instead of pci_enable_msix()
  xen/xenbus: remove unused xenbus_bind_evtchn()
  xen/events: remove unnecessary call to bind_evtchn_to_cpu()
  xen/events: remove the unused resend_irq_on_evtchn()
  drivers:xen-selfballoon:reset 'frontswap_inertia_counter' after frontswap_shrink
  drivers: xen: Include appropriate header file in pcpu.c
  drivers: xen: Mark function as static in platform-pci.c

1  2 
arch/x86/xen/Kconfig
drivers/xen/events/events_base.c

Simple merge
index c3458f58de905efb9eb8ae6a611532abda763f9e,7930530656299a28283d8e9ce0155b281349e446..d5a3de88ac59df240b09a6c21937eeec7754dd05
@@@ -767,7 -788,16 +776,12 @@@ int xen_destroy_irq(int irq
  
        mutex_lock(&irq_mapping_update_lock);
  
-       if (xen_initial_domain()) {
 -      desc = irq_to_desc(irq);
 -      if (!desc)
 -              goto out;
 -
+       /*
+        * 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);