]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/virtio/virtio_pci_common.c
Merge tag 'acpi-4.19-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
[linux.git] / drivers / virtio / virtio_pci_common.c
index 705aebd74e560cd8d125cee28537e9734dabe518..465a6f5142cc56500ddbc84bf9c6f37fce058bee 100644 (file)
@@ -421,7 +421,7 @@ const char *vp_bus_name(struct virtio_device *vdev)
  * - OR over all affinities for shared MSI
  * - ignore the affinity request if we're using INTX
  */
-int vp_set_vq_affinity(struct virtqueue *vq, int cpu)
+int vp_set_vq_affinity(struct virtqueue *vq, const struct cpumask *cpu_mask)
 {
        struct virtio_device *vdev = vq->vdev;
        struct virtio_pci_device *vp_dev = to_vp_device(vdev);
@@ -435,11 +435,10 @@ int vp_set_vq_affinity(struct virtqueue *vq, int cpu)
        if (vp_dev->msix_enabled) {
                mask = vp_dev->msix_affinity_masks[info->msix_vector];
                irq = pci_irq_vector(vp_dev->pci_dev, info->msix_vector);
-               if (cpu == -1)
+               if (!cpu_mask)
                        irq_set_affinity_hint(irq, NULL);
                else {
-                       cpumask_clear(mask);
-                       cpumask_set_cpu(cpu, mask);
+                       cpumask_copy(mask, cpu_mask);
                        irq_set_affinity_hint(irq, mask);
                }
        }