Re: [PATCH v4] staging: slicoss: fix different address space warnings

From: Greg KH
Date: Mon Nov 21 2016 - 05:09:44 EST


On Sun, Nov 20, 2016 at 09:21:51AM +0100, Sergio Paracuellos wrote:
> On Sat, Nov 19, 2016 at 2:20 PM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > On Fri, Nov 18, 2016 at 06:57:18PM +0100, Sergio Paracuellos wrote:
> >> Remove incorrect __iomem annotation.
> >>
> >> This patch fix the following sparse warnings in slicoss driver:
> >> warning: incorrect type in assignment (different address spaces)
> >>
> >> Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>
> >> ---
> >> drivers/staging/slicoss/slic.h | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/staging/slicoss/slic.h b/drivers/staging/slicoss/slic.h
> >> index 420546d..14d7555 100644
> >> --- a/drivers/staging/slicoss/slic.h
> >> +++ b/drivers/staging/slicoss/slic.h
> >> @@ -380,7 +380,7 @@ struct slic_shmemory {
> >> dma_addr_t isr_phaddr;
> >> dma_addr_t lnkstatus_phaddr;
> >> dma_addr_t stats_phaddr;
> >> - struct slic_shmem_data __iomem *shmem_data;
> >> + struct slic_shmem_data *shmem_data;
> >
> > But, is this the correct fix? It looks like shmem_data is being treated
> > like a pointer to io memory, so we need to use the correct accessors for
> > that memory, and not just a "raw" pointer, right? Removing this marking
> > seems to be moving backwards...
>
> That was the intention of v3 of the patch. But after Dan suggestions I
> though that just
> removing this mark would be enough because it was wrong. I am a little
> lost now :)

Ok, I'm lost too, sorry. I looked at the driver and shmem_data is
created by calling pci_zalloc_consistent, and that's not __iomem space,
but a real pointer.

So your patch is correct here, sorry for the noise, I'll go apply it.

thanks,

greg k-h