]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
virtio_pci: Clear stale cpumask when setting irq affinity
authorJiang Liu <jiang.liu@linux.intel.com>
Thu, 4 Jun 2015 08:41:44 +0000 (16:41 +0800)
committerLuis Henriques <luis.henriques@canonical.com>
Tue, 30 Jun 2015 16:15:20 +0000 (17:15 +0100)
commit 210d150e1f5da506875e376422ba31ead2d49621 upstream.

The cpumask vp_dev->msix_affinity_masks[info->msix_vector] may contain
staled information when vp_set_vq_affinity() gets called, so clear it
before setting the new cpu bit mask.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
[ luis: backported to 3.16:
  - file rename: virtio_pci_common.c -> virtio_pci.c ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
drivers/virtio/virtio_pci.c

index 52c4607fec9e4ea1f2cbc3b18f77d993d74c6a6f..c09527df161c80271b90c23b2a2788fa8287dc32 100644 (file)
@@ -645,6 +645,7 @@ static int vp_set_vq_affinity(struct virtqueue *vq, int cpu)
                if (cpu == -1)
                        irq_set_affinity_hint(irq, NULL);
                else {
+                       cpumask_clear(mask);
                        cpumask_set_cpu(cpu, mask);
                        irq_set_affinity_hint(irq, mask);
                }