Message ID | 1450104189-2653-1-git-send-email-hofrat@osadl.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
> --- a/drivers/staging/rdma/hfi1/chip.c > +++ b/drivers/staging/rdma/hfi1/chip.c > @@ -10128,8 +10128,7 @@ static void init_qos(struct hfi1_devdata *dd, > u32 first_ctxt) > goto bail; > if (num_vls * qpns_per_vl > dd->chip_rcv_contexts) > goto bail; > - rsmmap = kmalloc_array(NUM_MAP_REGS, sizeof(u64), > GFP_KERNEL); > - memset(rsmmap, rxcontext, NUM_MAP_REGS * sizeof(u64)); > + rsmmap = kcalloc(NUM_MAP_REGS, sizeof(u64), GFP_KERNEL); > /* init the local copy of the table */ > for (i = 0, ctxt = first_ctxt; i < num_vls; i++) { > unsigned tctxt; > -- I'm NAKing this. There is a chip specific difference that accounts for the current code. Mike -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Dec 14, 2015 at 03:28:46PM +0000, Marciniszyn, Mike wrote: > > --- a/drivers/staging/rdma/hfi1/chip.c > > +++ b/drivers/staging/rdma/hfi1/chip.c > > @@ -10128,8 +10128,7 @@ static void init_qos(struct hfi1_devdata *dd, > > u32 first_ctxt) > > goto bail; > > if (num_vls * qpns_per_vl > dd->chip_rcv_contexts) > > goto bail; > > - rsmmap = kmalloc_array(NUM_MAP_REGS, sizeof(u64), > > GFP_KERNEL); > > - memset(rsmmap, rxcontext, NUM_MAP_REGS * sizeof(u64)); > > + rsmmap = kcalloc(NUM_MAP_REGS, sizeof(u64), GFP_KERNEL); > > /* init the local copy of the table */ > > for (i = 0, ctxt = first_ctxt; i < num_vls; i++) { > > unsigned tctxt; > > -- > > I'm NAKing this. > > There is a chip specific difference that accounts for the current code. > I obviously made a real mess here. I incorrectly concluded that rxcontext is 0 which it is not in some cases sorry for the noise. thx! hofrat -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Dec 14, 2015 at 05:41:23PM +0000, Nicholas Mc Guire wrote: > I obviously made a real mess here. > I incorrectly concluded that rxcontext is 0 which it is not in some cases Yep. Plus you build tested it but assumed that the unused variable warning must have been there in the original... I've done that for static checker warnings. Lesson learned, hopefully. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/staging/rdma/hfi1/chip.c b/drivers/staging/rdma/hfi1/chip.c index dc69159..31eec8a 100644 --- a/drivers/staging/rdma/hfi1/chip.c +++ b/drivers/staging/rdma/hfi1/chip.c @@ -10128,8 +10128,7 @@ static void init_qos(struct hfi1_devdata *dd, u32 first_ctxt) goto bail; if (num_vls * qpns_per_vl > dd->chip_rcv_contexts) goto bail; - rsmmap = kmalloc_array(NUM_MAP_REGS, sizeof(u64), GFP_KERNEL); - memset(rsmmap, rxcontext, NUM_MAP_REGS * sizeof(u64)); + rsmmap = kcalloc(NUM_MAP_REGS, sizeof(u64), GFP_KERNEL); /* init the local copy of the table */ for (i = 0, ctxt = first_ctxt; i < num_vls; i++) { unsigned tctxt;
rather than using kmalloc_array + memset it seems cleaner to simply use kcalloc which will deliver memory set to zero. Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> --- Patch was compile tested with: x86_64_defconfig CONFIG_INFINIBAND=m, CONFIG_STAGING=y, CONFIG_STAGING_RDMA=m Patch is against linux-next (localversion-next is -next-20151214) drivers/staging/rdma/hfi1/chip.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)