From: FUJITA Tomonori on
On Wed, 04 Aug 2010 00:45:19 -0400
Javier Martinez Canillas <martinez.javier(a)gmail.com> wrote:

> DMA addresses are not pointers and shouldn't be assigned to NULL.
> This patch was generated against today linux-next.
>
> Signed-off-by: Javier Martinez Canillas <martinez.javier(a)gmail.com>
> ---
> drivers/staging/rt2860/rt_pci_rbus.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/staging/rt2860/rt_pci_rbus.c b/drivers/staging/rt2860/rt_pci_rbus.c
> index 3004be6..244c754 100644
> --- a/drivers/staging/rt2860/rt_pci_rbus.c
> +++ b/drivers/staging/rt2860/rt_pci_rbus.c
> @@ -218,7 +218,7 @@ void *RTMP_AllocateRxPacketBuffer(struct rt_rtmp_adapter *pAd,
> PCI_DMA_FROMDEVICE);
> } else {
> *VirtualAddress = (void *)NULL;
> - *PhysicalAddress = (dma_addr_t)NULL;
> + *PhysicalAddress = 0;
> }

This doesn't look correct since zero is a valid DMA address on some
architectures.

I recommend removing the else part completely. If you need to mark a
rx buffer invalid, adding a flag to the rx descriptor structure of a
driver is a popular way (see other network drivers, e.g. bnx2).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/