On Thu, 7 May 2020 18:21:19 +0000 Luo bin wrote:
> @@ -899,8 +920,18 @@ int hinic_init_cmdqs(struct hinic_cmdqs *cmdqs, struct 
> hinic_hwif *hwif,
>  
>       hinic_ceq_register_cb(&func_to_io->ceqs, HINIC_CEQ_CMDQ, cmdqs,
>                             cmdq_ceq_handler);
> +
> +     err = hinic_set_cmdq_depth(hwdev, CMDQ_DEPTH);
> +     if (err) {
> +             dev_err(&hwif->pdev->dev, "Failed to set cmdq depth\n");
> +             goto err_set_cmdq_depth;
> +     }
> +
>       return 0;
>  
> +err_set_cmdq_depth:
> +     hinic_ceq_unregister_cb(&func_to_io->ceqs, HINIC_CEQ_CMDQ);

Looking at code in hinic_free_cmdqs(), isn't this also missing:

        cmdq_type = HINIC_CMDQ_SYNC;
        for (; cmdq_type < HINIC_MAX_CMDQ_TYPES; cmdq_type++)
                free_cmdq(&cmdqs->cmdq[cmdq_type]);
?

>  err_cmdq_ctxt:
>       hinic_wqs_cmdq_free(&cmdqs->cmdq_pages, cmdqs->saved_wqs,
>                           HINIC_MAX_CMDQ_TYPES);

Reply via email to