Restore the irq=0 => irq=255 hack to pci_cfgintr_search(). Just having

it in pci_cfgregread() wasn't sufficent on at least the HP Omnibook 500.

Reviewed by:	imp
This commit is contained in:
Brooks Davis 2002-05-29 16:16:16 +00:00
parent 165aadc593
commit 26722a1909
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=97473
3 changed files with 24 additions and 0 deletions

View File

@ -408,6 +408,14 @@ pci_cfgintr_search(struct PIR_entry *pe, int bus, int device, int matchpin, int
(pci_get_slot(*childp) == device) &&
(pci_get_intpin(*childp) == matchpin)) {
irq = pci_get_irq(*childp);
/*
* Some BIOS writers seem to want to ignore the spec and put
* 0 in the intline rather than 255 to indicate none. Once
* we've found one that matches, we break because there can
* be no others (which is why test looks a little odd).
*/
if (irq == 0)
irq = 255;
if (irq != 255)
PRVERB(("pci_cfgintr_search: linked (%x) to configured irq %d at %d:%d:%d\n",
pe->pe_intpin[pin - 1].link, irq,

View File

@ -408,6 +408,14 @@ pci_cfgintr_search(struct PIR_entry *pe, int bus, int device, int matchpin, int
(pci_get_slot(*childp) == device) &&
(pci_get_intpin(*childp) == matchpin)) {
irq = pci_get_irq(*childp);
/*
* Some BIOS writers seem to want to ignore the spec and put
* 0 in the intline rather than 255 to indicate none. Once
* we've found one that matches, we break because there can
* be no others (which is why test looks a little odd).
*/
if (irq == 0)
irq = 255;
if (irq != 255)
PRVERB(("pci_cfgintr_search: linked (%x) to configured irq %d at %d:%d:%d\n",
pe->pe_intpin[pin - 1].link, irq,

View File

@ -408,6 +408,14 @@ pci_cfgintr_search(struct PIR_entry *pe, int bus, int device, int matchpin, int
(pci_get_slot(*childp) == device) &&
(pci_get_intpin(*childp) == matchpin)) {
irq = pci_get_irq(*childp);
/*
* Some BIOS writers seem to want to ignore the spec and put
* 0 in the intline rather than 255 to indicate none. Once
* we've found one that matches, we break because there can
* be no others (which is why test looks a little odd).
*/
if (irq == 0)
irq = 255;
if (irq != 255)
PRVERB(("pci_cfgintr_search: linked (%x) to configured irq %d at %d:%d:%d\n",
pe->pe_intpin[pin - 1].link, irq,