v4l: saa7134 byteorder fix
PATCH 1/1 v4l: saa7134 byteorder fix
Fix byteorder bug in the saa7134 driver. With that ObviouslyCorrect[tm] patch applied the driver reportly works on powerpc.
Signed-off-by Gerd Knorr <[email protected]>
--- drivers/media/video/saa7134/saa7134-core.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-)
drivers/media/video/saa7134/saa7134-core.c +1 -1
@@ -340,7 +340,7 @@ int saa7134_pgtable_build(struct pci_dev ptr = pt->cpu + startpage;for (i =0 ; i < length; i++, list++)for (p =0 ; p *4096 < list->length; p++, ptr++) - *ptr =sg_dma_address (list) - list->offset; + *ptr =cpu_to_le32 (sg_dma_address (list) - list->offset);return 0 ; }
Signature · 2 lines
-mm seems unusually stable at present. -- akpm about 2.6.12-rc3-mm3
drivers/media/video/saa7134/saa7134-core.c
Quoted 8 lines · Gerd Knorr
Fix byteorder bug in the saa7134 driver. With that ObviouslyCorrect[tm] patch applied the driver reportly works on powerpc.
drivers/media/video/saa7134/saa7134-core.c +1
-1- *ptr =sg_dma_address (list) - list->offset; + *ptr =cpu_to_le32 (sg_dma_address (list) - list->offset);
Clearly mark pointers to little-endian things.
Signed-off-by Alexey Dobriyan <[email protected]>
drivers/media/video/saa7134/saa7134-core.c +2 -2
@@ -316,7 +316,7 @@ unsigned long saa7134_buffer_base(structint saa7134_pgtable_alloc (struct pci_dev *pci,struct saa7134_pgtable *pt) { -u32 *cpu; +__le32 *cpu;dma_addr_t dma_addr; cpu =pci_alloc_consistent (pci,SAA7134_PGTABLE_SIZE , &dma_addr);
@@ -332,7 +332,7 @@ int saa7134_pgtable_build(struct pci_dev struct scatterlist *list, unsigned int length, unsigned int startpage) { - u32 *ptr; + __le32 *ptr;unsigned int i,p;BUG_ON (NULL == pt ||NULL == pt->cpu);
drivers/media/video/saa7134/saa7134.h +1 -1
@@ -241,7 +241,7 @@ struct saa7134_dma;/* saa7134 page table */ struct saa7134_pgtable {unsigned int size; -u32 *cpu; +__le32 *cpu;dma_addr_t dma; };