[linux-dvb] [PATCH] saa716x: don't cast pointers to 32bit int
Manu Abraham
abraham.manu at gmail.com
Wed Jan 28 00:51:22 CET 2009
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 at gmail.com>
> ---
> 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
More information about the linux-dvb
mailing list