The problem is that the commit you bisected implicitly use GFP_HIGHMEM mask. A later commit, tries to alleviate the issue by not setting GFP_HIGHMEM when GFP_DMA or GFP_DMA32 is set,
commit 704b862f9efd6d4c87a8d0a344dda19bda9c6b69 Author: Laura Abbott <labb...@redhat.com> Date: Fri Aug 18 15:16:27 2017 -0700 mm/vmalloc.c: don't unconditonally use __GFP_HIGHMEM So add GFP_DMA32 or GFP_DMA should solve the issue, but it doesn't, diff --git a/drivers/media/common/saa7146/saa7146_core.c b/drivers/media/common/saa7146/saa7146_core.c index 9f7c5b0a6b45..69f127067aa1 100644 --- a/drivers/media/common/saa7146/saa7146_core.c +++ b/drivers/media/common/saa7146/saa7146_core.c @@ -152,7 +152,8 @@ static struct scatterlist* vmalloc_to_sg(unsigned char *virt, int nr_pages) struct page *pg; int i; - sglist = kcalloc(nr_pages, sizeof(struct scatterlist), GFP_KERNEL); + sglist = __vmalloc(nr_pages * sizeof(struct scatterlist), + GFP_KERNEL | GFP_DMA | __GFP_ZERO, PAGE_KERNEL); if (NULL == sglist) return NULL; sg_init_table(sglist, nr_pages); @@ -166,7 +167,7 @@ static struct scatterlist* vmalloc_to_sg(unsigned char *virt, int nr_pages) return sglist; err: - kfree(sglist); + vfree(sglist); return NULL; } @@ -203,7 +204,7 @@ void *saa7146_vmalloc_build_pgtable(struct pci_dev *pci, long length, struct saa err_free_pgtable: saa7146_pgtable_free(pci, pt); err_free_slist: - kfree(pt->slist); + vfree(pt->slist); pt->slist = NULL; err_free_mem: vfree(mem); @@ -215,7 +216,7 @@ void saa7146_vfree_destroy_pgtable(struct pci_dev *pci, void *mem, struct saa714 { pci_unmap_sg(pci, pt->slist, pt->nents, PCI_DMA_FROMDEVICE); saa7146_pgtable_free(pci, pt); - kfree(pt->slist); + vfree(pt->slist); pt->slist = NULL; vfree(mem); } I'll send a mail to ask the patch author, stay tuned. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1742316 Title: DVB Card with SAA7146 chipset not working To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1742316/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs