V4L/DVB (4632): Zoran: Implement pcipci failure check
[linux-2.6.git] / drivers / media / video / zoran_driver.c
index 5f90db27892b9386a5b7c56f3a81e2bf6d7954ce..862a984c2155c6d8a739f54f4007f90b1a20f13b 100644 (file)
@@ -1512,6 +1512,13 @@ setup_fbuffer (struct file               *file,
        if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RAWIO))
                return -EPERM;
 
+       /* Don't allow frame buffer overlay if PCI or AGP is buggy, or on
+          ALi Magik (that needs very low latency while the card needs a
+          higher value always) */
+
+       if (pci_pci_problems & (PCIPCI_FAIL | PCIAGP_FAIL | PCIPCI_ALIMAGIK))
+               return -ENXIO;
+
        /* we need a bytesperline value, even if not given */
        if (!bytesperline)
                bytesperline = width * ((fmt->depth + 7) & ~7) / 8;