Re: [PATCH v2 06/13] qla2xxx: Fix memory size truncation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Sep 2, 2020, at 2:25 AM, Nilesh Javali <njavali@xxxxxxxxxxx> wrote:
> 
> From: Quinn Tran <qutran@xxxxxxxxxxx>
> 
> Memory size calculation for Extended Login use in hardware
> offload was truncated when the setting was set with higher
> value.
> 

I see code change makes sense but commit message does not. 

Does following makes sense? 

Memory size calculations for Extended Login used in hardware Offload got truncated.
Fix this by changing definition of exlogin_size to use uint32_t.

> Signed-off-by: Quinn Tran <qutran@xxxxxxxxxxx>
> Signed-off-by: Nilesh Javali <njavali@xxxxxxxxxxx>
> ---
> drivers/scsi/qla2xxx/qla_def.h | 2 +-
> drivers/scsi/qla2xxx/qla_mbx.c | 7 ++++---
> drivers/scsi/qla2xxx/qla_os.c  | 5 +++--
> 3 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
> index 074d8753cfc3..ad4a0ba7203c 100644
> --- a/drivers/scsi/qla2xxx/qla_def.h
> +++ b/drivers/scsi/qla2xxx/qla_def.h
> @@ -4216,7 +4216,7 @@ struct qla_hw_data {
> 	/* Extended Logins  */
> 	void		*exlogin_buf;
> 	dma_addr_t	exlogin_buf_dma;
> -	int		exlogin_size;
> +	uint32_t	exlogin_size;
> 
> #define ENABLE_EXCHANGE_OFFLD	BIT_2
> 
> diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
> index 989327868dd8..ab7dbbc99c22 100644
> --- a/drivers/scsi/qla2xxx/qla_mbx.c
> +++ b/drivers/scsi/qla2xxx/qla_mbx.c
> @@ -845,7 +845,7 @@ qla_get_exlogin_status(scsi_qla_host_t *vha, uint16_t *buf_sz,
>  * Context:
>  *	Kernel context.
>  */
> -#define CONFIG_XLOGINS_MEM	0x3
> +#define CONFIG_XLOGINS_MEM	0x9
> int
> qla_set_exlogin_mem_cfg(scsi_qla_host_t *vha, dma_addr_t phys_addr)
> {
> @@ -872,8 +872,9 @@ qla_set_exlogin_mem_cfg(scsi_qla_host_t *vha, dma_addr_t phys_addr)
> 	mcp->flags = 0;
> 	rval = qla2x00_mailbox_command(vha, mcp);
> 	if (rval != QLA_SUCCESS) {
> -		/*EMPTY*/
> -		ql_dbg(ql_dbg_mbx, vha, 0x111b, "Failed=%x.\n", rval);
> +		ql_dbg(ql_dbg_mbx, vha, 0x111b,
> +		       "EXlogin Failed=%x. MB0=%x MB11=%x\n",
> +		       rval, mcp->mb[0], mcp->mb[11]);
> 	} else {
> 		ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x118c,
> 		    "Done %s.\n", __func__);
> diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
> index 74e6a04850c0..31bfc0c088b7 100644
> --- a/drivers/scsi/qla2xxx/qla_os.c
> +++ b/drivers/scsi/qla2xxx/qla_os.c
> @@ -4379,11 +4379,12 @@ int
> qla2x00_set_exlogins_buffer(scsi_qla_host_t *vha)
> {
> 	int rval;
> -	uint16_t	size, max_cnt, temp;
> +	uint16_t	size, max_cnt;
> +	uint32_t temp;
> 	struct qla_hw_data *ha = vha->hw;
> 
> 	/* Return if we don't need to alloacate any extended logins */
> -	if (!ql2xexlogins)
> +	if (ql2xexlogins <= MAX_FIBRE_DEVICES_2400)
> 		return QLA_SUCCESS;
> 
> 	if (!IS_EXLOGIN_OFFLD_CAPABLE(ha))
> -- 
> 2.19.0.rc0
> 

Small nit for commit message, Otherwise 

Reviewed-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>

--
Himanshu Madhani	 Oracle Linux Engineering





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux