Re: [PATCH v2] scsi: sli4: Remove the buggy code

From: Dmitry Bogdanov
Date: Thu Aug 17 2023 - 07:01:33 EST


On Thu, Aug 17, 2023 at 04:07:51PM +0530, coolrrsh@xxxxxxxxx wrote:
>
> From: Rajeshwar R Shinde <coolrrsh@xxxxxxxxx>
>
> In the function sli_xmit_bls_rsp64_wqe, the 'if' and 'else' conditions
> evaluates the same expression and gives same output. Also the variable
> bls->local_n_port_id_dword is not used anywhere. Therefore removing the
> redundant code.
>
> This fixes coccinelle warning such as:
> drivers/scsi/elx/libefc_sli/sli4.c:2320:2-4: WARNING: possible
> condition with no effect (if == else)
>
> Signed-off-by: Rajeshwar R Shinde <coolrrsh@xxxxxxxxx>
> ---
> v1->v2
> Modified patch and verified with checkpatch.pl.
>
> ---
> drivers/scsi/elx/libefc_sli/sli4.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/drivers/scsi/elx/libefc_sli/sli4.c b/drivers/scsi/elx/libefc_sli/sli4.c
> index 8f96049f62dd..af661b769464 100644
> --- a/drivers/scsi/elx/libefc_sli/sli4.c
> +++ b/drivers/scsi/elx/libefc_sli/sli4.c
> @@ -2317,13 +2317,6 @@ sli_xmit_bls_rsp64_wqe(struct sli4 *sli, void *buf,
> SLI4_GENERIC_CONTEXT_VPI << SLI4_BLS_RSP_WQE_CT_SHFT;
> bls->context_tag = cpu_to_le16(params->vpi);
>
> - if (params->s_id != U32_MAX)
> - bls->local_n_port_id_dword |=
> - cpu_to_le32(params->s_id & 0x00ffffff);
> - else
> - bls->local_n_port_id_dword |=
> - cpu_to_le32(params->s_id & 0x00ffffff);
> -

omg, it is not an unused variable. Whole bls is a HW descriptor, all of
its variables are used by HW. You should keep v1 version of the patch.
According to the comment at the beginning of the funciton s_id here shall
be != U32_MAX. That is an explanation for your v1 patch.

> dw_ridflags = (dw_ridflags & ~SLI4_BLS_RSP_RID) |
> (params->d_id & SLI4_BLS_RSP_RID);
>
> --
> 2.25.1
>