lkml.org 
[lkml]   [2009]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRE: [PATCH 3/5] drivers/infiniband: correct size computation
On Mon, 7 Dec 2009, Tung, Chien Tin wrote:

> >> > /* Remap the PCI registers in adapter BAR0 to kernel VA space */
> >> >- mmio_regs = ioremap_nocache(pci_resource_start(pcidev, BAR_0), sizeof(mmio_regs));
> >> >+ mmio_regs = ioremap_nocache(pci_resource_start(pcidev, BAR_0),
> >> >+ sizeof(*mmio_regs));
> >> > if (mmio_regs == NULL) {
> >> > printk(KERN_ERR PFX "Unable to remap BAR0\n");
> >> > ret = -EIO;
> >>
> >> mmio_regs is initialized to NULL at the top of the function so
> >> *mmio_regs wouldn't be a good idea. Instead of sizeof(*mmio_regs) use
> >> pci_resource_len(pcidev, BAR_0). If you can recreate the patch with
> >> this change I will ack it.
> >
> >When you say that it isn't a good idea, do you mean that the result is
> >wrong, or that it looks odd? I didn't think sizeof looked at the value,
> >but only at the type?
>
>
> I misspoke on the problem. Mmio_regs is declared as a void pointer:
>
> void __iomem *mmio_regs = NULL;
>
> Thus pci_resource_len(pcidev, BAR_0) is the correct fix.

OK, thanks for the clarification. I will make another patch later today.

julia


\
 
 \ /
  Last update: 2009-12-07 17:45    [W:0.081 / U:2.720 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site