vDPA/ifcvf: dynamic allocate vq data stores
[sfrench/cifs-2.6.git] / drivers / vdpa / ifcvf / ifcvf_base.c
index 1b5da11f5403e830b75dbb93ec873217a843df47..f86495ace82524b1a22e62756365e5ed23a2ef89 100644 (file)
@@ -134,6 +134,9 @@ next:
        }
 
        hw->nr_vring = vp_ioread16(&hw->common_cfg->num_queues);
+       hw->vring = kzalloc(sizeof(struct vring_info) * hw->nr_vring, GFP_KERNEL);
+       if (!hw->vring)
+               return -ENOMEM;
 
        for (i = 0; i < hw->nr_vring; i++) {
                vp_iowrite16(i, &hw->common_cfg->queue_select);