diff options
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/common/saa7146_core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/linux/drivers/media/common/saa7146_core.c b/linux/drivers/media/common/saa7146_core.c index 206a942af..e581aafe2 100644 --- a/linux/drivers/media/common/saa7146_core.c +++ b/linux/drivers/media/common/saa7146_core.c @@ -101,7 +101,9 @@ int saa7146_wait_for_debi_done(struct saa7146_dev *dev) * general helper functions ****************************************************************************/ -/* this is videobuf_vmalloc_to_sg() from video-buf.c */ +/* this is videobuf_vmalloc_to_sg() from video-buf.c + make sure virt has been allocated with vmalloc_32(), otherwise the BUG() + may be triggered on highmem machines */ static struct scatterlist* vmalloc_to_sg(unsigned char *virt, int nr_pages) { struct scatterlist *sglist; @@ -137,7 +139,7 @@ char *saa7146_vmalloc_build_pgtable(struct pci_dev *pci, long length, struct saa { struct scatterlist *slist = NULL; int pages = (length+PAGE_SIZE-1)/PAGE_SIZE; - char *mem = vmalloc(length); + char *mem = vmalloc_32(length); int slen = 0; if (NULL == mem) { |