summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiang Liu <jiang.liu@linux.intel.com>2015-06-04 16:41:44 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-06-22 17:03:34 -0700
commit4c4a45ac04e8fcd6a26ece35c7ec563568c3cacd (patch)
treed1bd7fe0167e4d56f507e6741981ce6168077e25
parente3bb98bb03148547bdd76d31ae1e275ae7942dec (diff)
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 <jiang.liu@linux.intel.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/virtio/virtio_pci_common.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/virtio/virtio_pci_common.c b/drivers/virtio/virtio_pci_common.c
index e894eb278d83..eba1b7ac7294 100644
--- a/drivers/virtio/virtio_pci_common.c
+++ b/drivers/virtio/virtio_pci_common.c
@@ -423,6 +423,7 @@ 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);
}