]> Zhao Yanbai Git Server - minix.git/commitdiff
Edge triggered interrupts are no longer fatal.
authorPhilip Homburg <philip@cs.vu.nl>
Fri, 26 Aug 2005 11:16:03 +0000 (11:16 +0000)
committerPhilip Homburg <philip@cs.vu.nl>
Fri, 26 Aug 2005 11:16:03 +0000 (11:16 +0000)
drivers/libpci/pci.c

index b779873882d6160ba0e6bcb109219b83ca9c8c7e..d4dbd0a8f64fb3bde33fd218b41db96ab63e877e 100644 (file)
@@ -797,16 +797,11 @@ int devind;
                                printf("INT%c: %d\n", 'A'+i, irq);
                        if (!(elcr & (1 << irq)))
                        {
-                               if (qemu_pci)
+                               if (debug)
                                {
                                        printf(
-                       "IRQ is not level triggered (ignored for QEMU)\n");
-                               }
-                               else
-                               {
-                                       panic("PCI",
-                                               "IRQ is not level triggered\n",
-                                               NO_NUM);
+                               "(warning) IRQ %d is not level triggered\n", 
+                                               irq);
                                }
                        }
                        irq_mode_pci(irq);
@@ -855,11 +850,11 @@ int devind;
                {
                        if (debug)
                                printf("INT%c: %d\n", 'A'+i, irq);
-                       if (edge)
+                       if (edge && debug)
                        {
-                               printf("IRQ %d is not level triggered\n",
+                               printf(
+                               "(warning) IRQ %d is not level triggered\n",
                                        irq);
-                               panic(NULL, NULL, NO_NUM);
                        }
                        irq_mode_pci(irq);
                }
@@ -945,11 +940,11 @@ int devind;
                {
                        if (debug)
                                printf("INT%c: %d\n", 'A'+i, irq);
-                       if (edge)
+                       if (edge && debug)
                        {
-                               printf("IRQ %d is not level triggered\n",
+                               printf(
+                               "(warning) IRQ %d is not level triggered\n",
                                        irq);
-                               panic(NULL, NULL, NO_NUM);
                        }
                        irq_mode_pci(irq);
                }