Messages in this thread Patches in this message |  | | Date | Thu, 20 Sep 2001 19:01:13 -0400 | From | Thomas Hood <> | Subject | [PATCH] PnP BIOS no-irq/IRQ0 bug |
| |
Here is a one-character patch which may be self-explanatory. The irq should be initialized to -1 (i.e., "no irq") rather than 0 (i.e., IRQ0) so that the irq field in the pci_dev will be -1 and not 0 if the PnP BIOS returns an irq mask with no bits set. // Thomas <jdthood_AT_yahoo.co.uk>
--- linux-2.4.9-ac10/drivers/pnp/pnp_bios.c_ORIG Thu Sep 20 18:54:59 2001 +++ linux-2.4.9-ac10/drivers/pnp/pnp_bios.c Thu Sep 20 18:55:22 2001 @@ -716,7 +716,7 @@ static void __init pnpbios_rawdata_2_pci_dev(struct pnp_bios_node *node, struct pci_dev *pci_dev) { unsigned char *p = node->data, *lastp=NULL; - int mask,i,io,irq=0,len,dma=-1; + int mask,i,io,irq=-1,len,dma=-1; memset(pci_dev, 0, sizeof(struct pci_dev)); while ( (char *)p < ((char *)node->data + node->size )) {--- linux-2.4.9-ac10/drivers/pnp/pnp_bios.c_ORIG Thu Sep 20 18:54:59 2001 +++ linux-2.4.9-ac10/drivers/pnp/pnp_bios.c Thu Sep 20 18:55:22 2001 @@ -716,7 +716,7 @@ static void __init pnpbios_rawdata_2_pci_dev(struct pnp_bios_node *node, struct pci_dev *pci_dev) { unsigned char *p = node->data, *lastp=NULL; - int mask,i,io,irq=0,len,dma=-1; + int mask,i,io,irq=-1,len,dma=-1; memset(pci_dev, 0, sizeof(struct pci_dev)); while ( (char *)p < ((char *)node->data + node->size )) { |  |