From: Jiang Liu Date: Thu, 4 Jun 2015 08:41:44 +0000 (+0800) Subject: virtio_pci: Clear stale cpumask when setting irq affinity X-Git-Tag: v3.16.35~1860 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9ca6d16448ea5351ca69e561eed2a34edcbd390a;p=thirdparty%2Fkernel%2Fstable.git virtio_pci: Clear stale cpumask when setting irq affinity 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 Signed-off-by: Michael S. Tsirkin [ luis: backported to 3.16: - file rename: virtio_pci_common.c -> virtio_pci.c ] Signed-off-by: Luis Henriques --- diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c index 52c4607fec9e4..c09527df161c8 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -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); }