Messages in this thread | | | Subject | RE: [PATCH cciss: fix printk format warning | Date | Fri, 27 Oct 2006 10:15:18 -0500 | From | "Miller, Mike (OS Dev)" <> |
| |
> -----Original Message----- > From: Cameron, Steve > Sent: Friday, October 27, 2006 8:12 AM > To: Randy Dunlap; Roland Dreier > Cc: Andrew Morton; ISS StorageDev; lkml > Subject: RE: [PATCH cciss: fix printk format warning > > > 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.
If the volume is >2TB read_capacity will return 8 F's. We've already added 1 to total_size which equals 0. I only care if the lower 32 bits are zero so that's the reason for the cast. Does that make sense or am I out in the weeds?
mikem
> > > > > > - 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |