[PATCH] staging/rt2860: fix bad dma_addr_t conversion
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Wed Aug 4 05:11:46 UTC 2010
On Wed, 04 Aug 2010 00:45:19 -0400
Javier Martinez Canillas <martinez.javier at 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 at 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).
More information about the devel
mailing list