On 11/14/20 5:35 PM, Jakub Kicinski wrote:
On Thu, 12 Nov 2020 13:09:57 -0600 Thomas Falcon wrote:
This patch introduces the infrastructure to send batched subordinate
Command Response Queue descriptors, which are used by the ibmvnic
driver to send TX frame and RX buffer descriptors.

Signed-off-by: Thomas Falcon <tlfal...@linux.ibm.com>
@@ -2957,6 +2963,19 @@ static struct ibmvnic_sub_crq_queue 
*init_sub_crq_queue(struct ibmvnic_adapter
scrq->adapter = adapter;
        scrq->size = 4 * PAGE_SIZE / sizeof(*scrq->msgs);
+       scrq->ind_buf.index = 0;
+
+       scrq->ind_buf.indir_arr =
+               dma_alloc_coherent(dev,
+                                  IBMVNIC_IND_ARR_SZ,
+                                  &scrq->ind_buf.indir_dma,
+                                  GFP_KERNEL);
+
+       if (!scrq->ind_buf.indir_arr) {
+               dev_err(dev, "Couldn't allocate indirect scrq buffer\n");
This warning/error is not necessary, memory allocation will trigger an
OOM message already.
Thanks, I can fix that in a v2.

+               goto reg_failed;
Don't you have to do something like

                         rc = plpar_hcall_norets(H_FREE_SUB_CRQ,
                                                 adapter->vdev->unit_address,
                                                 scrq->crq_num);

?

Yes, you're right, I will include that in a v2 also.

+       }
+
        spin_lock_init(&scrq->lock);

Reply via email to