Hi Lin,

On 25/06/19, 8:05 AM, "Lin Yi" <teroi...@163.com> wrote:

>External Email
>
>----------------------------------------------------------------------
>if cb_arg alloc failed, we can't release the struct orig_io_req refcount
>before we take it's refcount. As Saurav said, move the srr_err label
>down to avoid unnecessary refcount release and nullptr free.
>
>Signed-off-by: Lin Yi <teroi...@163.com>
>---
>Changes in v2:
> -move the srr_err label down instead of moving kref_get.
>---
> drivers/scsi/bnx2fc/bnx2fc_els.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/scsi/bnx2fc/bnx2fc_els.c
>b/drivers/scsi/bnx2fc/bnx2fc_els.c
>index e33b94f..b807736 100644
>--- a/drivers/scsi/bnx2fc/bnx2fc_els.c
>+++ b/drivers/scsi/bnx2fc/bnx2fc_els.c
>@@ -654,7 +654,6 @@ int bnx2fc_send_srr(struct bnx2fc_cmd *orig_io_req,
>u32 offset, u8 r_ctl)
>       rc = bnx2fc_initiate_els(tgt, ELS_SRR, &srr, sizeof(srr),
>                                bnx2fc_srr_compl, cb_arg,
>                                r_a_tov);
>-srr_err:
>       if (rc) {
>               BNX2FC_IO_DBG(orig_io_req, "SRR failed - release\n");
>               spin_lock_bh(&tgt->tgt_lock);
>@@ -664,6 +663,7 @@ int bnx2fc_send_srr(struct bnx2fc_cmd *orig_io_req,
>u32 offset, u8 r_ctl)
>       } else
>               set_bit(BNX2FC_FLAG_SRR_SENT, &orig_io_req->req_flags);
> 
>+srr_err:
>       return rc;
> }
> 
>-- 
>1.9.1

Thanks for the patch.

Asked-by: Saurav Kashyap <skash...@marvell.com>
>
>

Reply via email to