Re: [PATCH 2/6] scsi: hpsa: use min()/min_t() to improve code

From: David Laight
Date: Wed Aug 20 2025 - 08:03:54 EST


On Fri, 15 Aug 2025 20:16:04 +0800
Qianfeng Rong <rongqianfeng@xxxxxxxx> wrote:

> Use min()/min_t() to reduce the code in complete_scsi_command() and
> hpsa_vpd_page_supported(), and improve readability.
>
> Signed-off-by: Qianfeng Rong <rongqianfeng@xxxxxxxx>
> ---
> drivers/scsi/hpsa.c | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
> index c73a71ac3c29..95dfcbac997f 100644
> --- a/drivers/scsi/hpsa.c
> +++ b/drivers/scsi/hpsa.c
> @@ -2662,10 +2662,8 @@ static void complete_scsi_command(struct CommandList *cp)
> case CMD_TARGET_STATUS:
> cmd->result |= ei->ScsiStatus;
> /* copy the sense data */
> - if (SCSI_SENSE_BUFFERSIZE < sizeof(ei->SenseInfo))
> - sense_data_size = SCSI_SENSE_BUFFERSIZE;
> - else
> - sense_data_size = sizeof(ei->SenseInfo);
> + sense_data_size = min_t(unsigned long, SCSI_SENSE_BUFFERSIZE,
> + sizeof(ei->SenseInfo));

Why min_t() ?
A plain min() should be fine.
If it isn't you should really need to justify why the type of one parameter
can't be changes before using min_t().

David

> if (ei->SenseLen < sense_data_size)
> sense_data_size = ei->SenseLen;
> memcpy(cmd->sense_buffer, ei->SenseInfo, sense_data_size);
> @@ -3628,10 +3626,7 @@ static bool hpsa_vpd_page_supported(struct ctlr_info *h,
> if (rc != 0)
> goto exit_unsupported;
> pages = buf[3];
> - if ((pages + HPSA_VPD_HEADER_SZ) <= 255)
> - bufsize = pages + HPSA_VPD_HEADER_SZ;
> - else
> - bufsize = 255;
> + bufsize = min(pages + HPSA_VPD_HEADER_SZ, 255);
>
> /* Get the whole VPD page list */
> rc = hpsa_scsi_do_inquiry(h, scsi3addr,