RE: [PATCH cciss: fix printk format warning

From: Cameron, Steve
Date: Fri Oct 27 2006 - 09:16:22 EST


> Roland Dreier wrote:
> > > > if (*total_size != (__u32) 0)
> > >
> > > Why is cciss_read_capacity casting *total_size to u32?
> >
> > It's not -- it's actually casting 0 to __32 -- there's no cast on the
> > *total_size side of the comparison. However that just makes the cast
> > look even fishier.
> >
> > - R.
>
> OK, how about this one then?
>
>
> c->busaddr = (__u32) cmd_dma_handle;
>
> where cmd_dma_handle is a dma_addr_t (u32 or u64)

The command register to which that value is written
is a 32 bit register. Cast it or not, only 32 bits
will be used. The DMA mask used to get that memory
should ensure it's 32 bit addressable.

> and then later:
>
> pci_free_consistent(h->pdev, sizeof(CommandList_struct),
> c, (dma_addr_t) c->busaddr);




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/