Re: [PATCH] saa716x: don't cast pointers to 32bit int

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Luca Tettamanti wrote:
> Pointers may be 64bit long, casting them to u32 is wrong.
> For doing math on the address unsigned long is guaranteed to have to correct
> size to hold the value of the pointer.
> 
> Signed-off-by: Luca Tettamanti <kronos.it@xxxxxxxxx>
> ---
>  Patch applies to HG repo.
> 
>  linux/drivers/media/dvb/saa716x/saa716x_dma.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> Index: saa716x/linux/drivers/media/dvb/saa716x/saa716x_dma.c
> ===================================================================
> --- saa716x.orig/linux/drivers/media/dvb/saa716x/saa716x_dma.c	2008-12-27 21:35:04.000000000 +0100
> +++ saa716x/linux/drivers/media/dvb/saa716x/saa716x_dma.c	2008-12-27 21:35:28.000000000 +0100
> @@ -34,7 +34,7 @@
>  		return -ENOMEM;
>  	}
>  
> -	BUG_ON(!(((u32) dmabuf->mem_ptab_phys % SAA716x_PAGE_SIZE) == 0));
> +	BUG_ON(!(((unsigned long) dmabuf->mem_ptab_phys % SAA716x_PAGE_SIZE) == 0));
>  
>  	return 0;
>  }
> @@ -126,9 +126,9 @@
>  		}
>  
>  		/* align memory to page */
> -		dmabuf->mem_virt = (void *) PAGE_ALIGN (((u32) dmabuf->mem_virt_noalign));
> +		dmabuf->mem_virt = (void *) PAGE_ALIGN (((unsigned long) dmabuf->mem_virt_noalign));
>  
> -		BUG_ON(!((((u32) dmabuf->mem_virt) % SAA716x_PAGE_SIZE) == 0));
> +		BUG_ON(!((((unsigned long) dmabuf->mem_virt) % SAA716x_PAGE_SIZE) == 0));
>  	} else {
>  		dmabuf->mem_virt = buf;
>  	}
> 

Applied.

Thanks,
Manu

_______________________________________________
linux-dvb users mailing list
For V4L/DVB development, please use instead linux-media@xxxxxxxxxxxxxxx
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux