]> git.pld-linux.org Git - packages/kernel.git/blame - linux-2.4.20-440gx.patch
- obsolete
[packages/kernel.git] / linux-2.4.20-440gx.patch
CommitLineData
122a994b
JR
1diff -urNp linux-850/arch/i386/kernel/dmi_scan.c linux-860/arch/i386/kernel/dmi_scan.c
2--- linux-850/arch/i386/kernel/dmi_scan.c
3+++ linux-860/arch/i386/kernel/dmi_scan.c
4@@ -11,6 +11,8 @@
5 #include <asm/system.h>
6 #include <linux/bootmem.h>
7
8+#include "pci-i386.h"
9+
10 unsigned long dmi_broken;
11 int is_sony_vaio_laptop;
12
13@@ -447,6 +449,8 @@ static __init int swab_apm_power_in_minu
14 */
15
16 extern int skip_ioapic_setup;
17+extern int broken_440gx_bios;
18+extern unsigned int pci_probe;
19 static __init int broken_pirq(struct dmi_blacklist *d)
20 {
21 printk(KERN_ERR " *** Possibly defective BIOS detected (irqtable)\n");
22@@ -457,6 +461,9 @@ static __init int broken_pirq(struct dmi
23 #ifdef CONFIG_X86_IO_APIC
24 skip_ioapic_setup = 0;
25 #endif
26+ broken_440gx_bios = 1;
27+ pci_probe |= PCI_BIOS_IRQ_SCAN;
28+
29 return 0;
30 }
31
32diff -urNp linux-850/arch/i386/kernel/pci-irq.c linux-860/arch/i386/kernel/pci-irq.c
33--- linux-850/arch/i386/kernel/pci-irq.c
34+++ linux-860/arch/i386/kernel/pci-irq.c
35@@ -23,6 +23,7 @@
36 #define PIRQ_VERSION 0x0100
37
38 int broken_hp_bios_irq9;
39+int broken_440gx_bios;
40
41 static struct irq_routing_table *pirq_table;
42
43@@ -681,7 +682,10 @@ static int pcibios_lookup_irq(struct pci
44 void __init pcibios_irq_init(void)
45 {
46 DBG("PCI: IRQ init\n");
47- pirq_table = pirq_find_routing_table();
48+ if (broken_440gx_bios)
49+ pirq_table = NULL;
50+ else
51+ pirq_table = pirq_find_routing_table();
52 #ifdef CONFIG_PCI_BIOS
53 if (!pirq_table && (pci_probe & PCI_BIOS_IRQ_SCAN))
54 pirq_table = pcibios_get_irq_routing_table();
This page took 0.758795 seconds and 4 git commands to generate.