RE: [EXT] [PATCH net] qed: fix error return code in qed_iwarp_ll2_start()

From: Michal Kalderon
Date: Mon Nov 16 2020 - 14:49:07 EST


> From: Zhang Changzhong <zhangchangzhong@xxxxxxxxxx>
> Sent: Monday, November 16, 2020 3:07 PM
>
> ----------------------------------------------------------------------
> Fix to return a negative error code from the error handling case instead of 0,
> as done elsewhere in this function.
>
> Fixes: 469981b17a4f ("qed: Add unaligned and packed packet processing")
> Fixes: fcb39f6c10b2 ("qed: Add mpa buffer descriptors for storing and
> processing mpa fpdus")
> Fixes: 1e28eaad07ea ("qed: Add iWARP support for fpdu spanned over more
> than two tcp packets")
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Signed-off-by: Zhang Changzhong <zhangchangzhong@xxxxxxxxxx>
> ---
> drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
> b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
> index 512cbef..a998611 100644
> --- a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
> +++ b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
> @@ -2754,14 +2754,18 @@ qed_iwarp_ll2_start(struct qed_hwfn *p_hwfn,
> iwarp_info->partial_fpdus = kcalloc((u16)p_hwfn->p_rdma_info-
> >num_qps,
> sizeof(*iwarp_info->partial_fpdus),
> GFP_KERNEL);
> - if (!iwarp_info->partial_fpdus)
> + if (!iwarp_info->partial_fpdus) {
> + rc = -ENOMEM;
> goto err;
> + }
>
> iwarp_info->max_num_partial_fpdus = (u16)p_hwfn->p_rdma_info-
> >num_qps;
>
> iwarp_info->mpa_intermediate_buf = kzalloc(buff_size,
> GFP_KERNEL);
> - if (!iwarp_info->mpa_intermediate_buf)
> + if (!iwarp_info->mpa_intermediate_buf) {
> + rc = -ENOMEM;
> goto err;
> + }
>
> /* The mpa_bufs array serves for pending RX packets received on
> the
> * mpa ll2 that don't have place on the tx ring and require later @@ -
> 2771,8 +2775,10 @@ qed_iwarp_ll2_start(struct qed_hwfn *p_hwfn,
> iwarp_info->mpa_bufs = kcalloc(data.input.rx_num_desc,
> sizeof(*iwarp_info->mpa_bufs),
> GFP_KERNEL);
> - if (!iwarp_info->mpa_bufs)
> + if (!iwarp_info->mpa_bufs) {
> + rc = -ENOMEM;
> goto err;
> + }
>
> INIT_LIST_HEAD(&iwarp_info->mpa_buf_pending_list);
> INIT_LIST_HEAD(&iwarp_info->mpa_buf_list);
> --
> 2.9.5

Thanks, 

Acked-by: Michal Kalderon <michal.kalderon@xxxxxxxxxxx>