aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/pci_irq.c
diff options
context:
space:
mode:
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>2005-09-03 00:34:32 -0400
committerLen Brown <len.brown@intel.com>2005-09-03 00:36:26 -0400
commit5f0110f2a716376f3b260703835f527ca8900946 (patch)
treeeeb507e495f1710751afdc2da54eff6e243dcfe4 /drivers/acpi/pci_irq.c
parent8713cbefafbb5a101ade541a4b0ffa108bf697cc (diff)
[ACPI] fix run-time error checking in acpi_pci_irq_disable()
The 'bus' field in pci_dev structure should be checked before calling pci_read_config_byte() because pci_bus_read_config_byte() called by pci_read_config_byte() refers to 'bus' field. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/pci_irq.c')
-rw-r--r--drivers/acpi/pci_irq.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index 2bbfba8e8c6d..09567c2edcfb 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -500,7 +500,7 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
500 500
501 ACPI_FUNCTION_TRACE("acpi_pci_irq_disable"); 501 ACPI_FUNCTION_TRACE("acpi_pci_irq_disable");
502 502
503 if (!dev) 503 if (!dev || !dev->bus)
504 return_VOID; 504 return_VOID;
505 505
506 pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); 506 pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
@@ -508,9 +508,6 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
508 return_VOID; 508 return_VOID;
509 pin--; 509 pin--;
510 510
511 if (!dev->bus)
512 return_VOID;
513
514 /* 511 /*
515 * First we check the PCI IRQ routing table (PRT) for an IRQ. 512 * First we check the PCI IRQ routing table (PRT) for an IRQ.
516 */ 513 */