-----Original Message-----
From: Benjamin Herrenschmidt [mailto:b...@kernel.crashing.org]
Sent: Thu 11/5/2009 12:00 PM
To: James Bottomley
Cc: Josh Boyer; eric.mo...@lsi.com; Pravin Bathija; linux-s...@vger.kernel.org; 
linuxppc-...@ozlabs.org
Subject: Re: [PATCH] [SCSI] mpt fusion: Fix 32 bit platforms with 64 bit 
resources.
 
On Thu, 2009-11-05 at 10:07 -0600, James Bottomley wrote:

> > >   ioc->memmap = mem;
> > >-  dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "mem = %p, mem_phys = %lx\n",
> > >-      ioc->name, mem, mem_phys));
> > >+  dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "mem = %p, mem_phys = %llx\n",
> > >+      ioc->name, mem, (u64)mem_phys));
> > >
> > >   ioc->mem_phys = mem_phys;
> > >   ioc->chip = (SYSIF_REGS __iomem *)mem;
> > >
> > >   /* Save Port IO values in case we need to do downloadboot */
> > >-  ioc->pio_mem_phys = port;
> > >+  port = ioremap(port_phys, psize);
> > >+  if (port == NULL) {
> > >+          printk(MYIOC_s_ERR_FMT " : ERROR - Unable to map adapter"
> > >+                  " port !\n", ioc->name);
> > >+          return -EINVAL;
> 
> So this looks problematic on a few platforms ... what happens to
> platforms that have no IO space?  They automatically fail here and it
> looks like the adapter never attaches.

> Yup, that part of the patch looks wrong.

> However, a mechanical replacement of unsigned long's with
> resource_size_t to hold physical addresses should be fine despite the
> lack of feedback from LSI.

> Pravin, that ioremap definitely seems like it has nothing to do there,
> port IO is already remapped for you by the core PCI code and should work
> "as is". Please respin without that change.

> Cheers,
>Ben.

Thanks for the input. Will make the suggested changes and re-submit the patch.

Regards,
Pravin



_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to