sfc: Use a more sensible cast in efx_rx_buf_offset()
authorBen Hutchings <bhutchings@solarflare.com>
Mon, 30 Jan 2012 16:55:05 +0000 (16:55 +0000)
committerBen Hutchings <bhutchings@solarflare.com>
Mon, 30 Jan 2012 16:58:45 +0000 (16:58 +0000)
This function returns the page offset of the buffer, which can be
calculated based on either its DMA address or its virtual address.  It
used to use the virtual address and we would cast that to unsigned
long, as anything smaller would result in a compiler warning.  Now
that it's using the DMA address we should use unsigned int, matching
the return type.  It is also unnecessary to use __force.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/rx.c

index a33aef25ead944f20b3600609fbf933b9a408d80..1dfda5e279198baa287afd98504e77838385331c 100644 (file)
@@ -98,7 +98,7 @@ static inline unsigned int efx_rx_buf_offset(struct efx_nic *efx,
        /* Offset is always within one page, so we don't need to consider
         * the page order.
         */
-       return ((__force unsigned long) buf->dma_addr & (PAGE_SIZE - 1)) +
+       return ((unsigned int) buf->dma_addr & (PAGE_SIZE - 1)) +
                efx->type->rx_buffer_hash_size;
 }
 static inline unsigned int efx_rx_buf_size(struct efx_nic *efx)