> -----Original Message-----
> From: Dan Carpenter <dan.carpen...@oracle.com>
> Sent: Thursday, June 28, 2018 2:53 PM
> To: Dept-Eng QLogic Storage Upstream <QLogic-Storage-
> upstr...@cavium.com>; Rangankar, Manish
> <manish.rangan...@cavium.com>
> Cc: James E.J. Bottomley <j...@linux.vnet.ibm.com>; Martin K. Petersen
> <martin.peter...@oracle.com>; linux-scsi@vger.kernel.org; kernel-
> janit...@vger.kernel.org
> Subject: [PATCH] scsi: qedi: tidy up a size caculation
> 
> External Email
> 
> The id_tbl->table pointer points to unsigned long so static checkers complain
> that instead of 4 we should be allocating sizeof(long) bytes.
> 
> We're trying to allocate enough bits for the bitmap.  The size variable is 
> always
> 1024.  (1024 / 32 * 4) is the same as (1024 / 64 * 8) so this doesn't change
> runtime, but this is the more idiomatic way to do it and makes the static 
> checker
> happy.
> 
> Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>
> 
> diff --git a/drivers/scsi/qedi/qedi_main.c b/drivers/scsi/qedi/qedi_main.c 
> index
> cf274a79e77a..682f3ce31014 100644
> --- a/drivers/scsi/qedi/qedi_main.c
> +++ b/drivers/scsi/qedi/qedi_main.c
> @@ -524,7 +524,7 @@ static int qedi_init_id_tbl(struct qedi_portid_tbl 
> *id_tbl,
> u16 size,
>         id_tbl->max = size;
>         id_tbl->next = next;
>         spin_lock_init(&id_tbl->lock);
> -       id_tbl->table = kcalloc(DIV_ROUND_UP(size, 32), 4, GFP_KERNEL);
> +       id_tbl->table = kcalloc(BITS_TO_LONGS(size), sizeof(long),
> + GFP_KERNEL);
>         if (!id_tbl->table)
>                 return -ENOMEM;

Thanks,

Acked-by: Manish Rangankar <manish.rangan...@cavium.com>

Reply via email to