> -----Original Message----- > From: Dan Carpenter <[email protected]> > Sent: Thursday, June 28, 2018 2:53 PM > To: Dept-Eng QLogic Storage Upstream <QLogic-Storage- > [email protected]>; Rangankar, Manish > <[email protected]> > Cc: James E.J. Bottomley <[email protected]>; Martin K. Petersen > <[email protected]>; [email protected]; kernel- > [email protected] > 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 <[email protected]> > > 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 <[email protected]>

