aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/virtio/virtio_pci_common.c8
-rw-r--r--drivers/virtio/virtio_ring.c2
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/virtio/virtio_pci_common.c b/drivers/virtio/virtio_pci_common.c
index d0584c040c60..7a0398bb84f7 100644
--- a/drivers/virtio/virtio_pci_common.c
+++ b/drivers/virtio/virtio_pci_common.c
@@ -255,9 +255,11 @@ void vp_del_vqs(struct virtio_device *vdev)
255 for (i = 0; i < vp_dev->msix_used_vectors; ++i) 255 for (i = 0; i < vp_dev->msix_used_vectors; ++i)
256 free_irq(pci_irq_vector(vp_dev->pci_dev, i), vp_dev); 256 free_irq(pci_irq_vector(vp_dev->pci_dev, i), vp_dev);
257 257
258 for (i = 0; i < vp_dev->msix_vectors; i++) 258 if (vp_dev->msix_affinity_masks) {
259 if (vp_dev->msix_affinity_masks[i]) 259 for (i = 0; i < vp_dev->msix_vectors; i++)
260 free_cpumask_var(vp_dev->msix_affinity_masks[i]); 260 if (vp_dev->msix_affinity_masks[i])
261 free_cpumask_var(vp_dev->msix_affinity_masks[i]);
262 }
261 263
262 if (vp_dev->msix_enabled) { 264 if (vp_dev->msix_enabled) {
263 /* Disable the vector used for configuration */ 265 /* Disable the vector used for configuration */
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index 18846afb39da..5df92c308286 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -882,6 +882,8 @@ static struct virtqueue *vring_create_virtqueue_split(
882 GFP_KERNEL|__GFP_NOWARN|__GFP_ZERO); 882 GFP_KERNEL|__GFP_NOWARN|__GFP_ZERO);
883 if (queue) 883 if (queue)
884 break; 884 break;
885 if (!may_reduce_num)
886 return NULL;
885 } 887 }
886 888
887 if (!num) 889 if (!num)