diff options
author | Taku Izumi <izumi.taku@jp.fujitsu.com> | 2008-10-17 00:51:53 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-10-22 19:42:34 -0400 |
commit | ab20440c376ff0454cb93904a888212d874fbb6b (patch) | |
tree | 9fa9576287106ce99b582a89755f2ae627af2765 /drivers/pci/pci-acpi.c | |
parent | adf411b819adc9fa96e9b3e638c7480d5e71d270 (diff) |
ACPI/PCI: Fix return value of acpi_cuery_osc()
If acpi_query_osc() returns other than AE_OK, __pci_osc_support_set()
stops scanning ACPI objects to evaluate _OSC. This prevents subsequent
_OSCs from being evaluated if some of root bridge doesn't have _OSC, for
example. So acpi_query_osc() should return always AE_OK to evaluate all
_OSC.
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci/pci-acpi.c')
-rw-r--r-- | drivers/pci/pci-acpi.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index 981919d163a0..dfe7c8e1b185 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c | |||
@@ -149,20 +149,19 @@ static acpi_status acpi_query_osc(acpi_handle handle, | |||
149 | 149 | ||
150 | status = acpi_get_handle(handle, "_OSC", &tmp); | 150 | status = acpi_get_handle(handle, "_OSC", &tmp); |
151 | if (ACPI_FAILURE(status)) | 151 | if (ACPI_FAILURE(status)) |
152 | return status; | 152 | return AE_OK; |
153 | 153 | ||
154 | mutex_lock(&pci_acpi_lock); | 154 | mutex_lock(&pci_acpi_lock); |
155 | osc_data = acpi_get_osc_data(handle); | 155 | osc_data = acpi_get_osc_data(handle); |
156 | if (!osc_data) { | 156 | if (!osc_data) { |
157 | printk(KERN_ERR "acpi osc data array is full\n"); | 157 | printk(KERN_ERR "acpi osc data array is full\n"); |
158 | status = AE_ERROR; | ||
159 | goto out; | 158 | goto out; |
160 | } | 159 | } |
161 | 160 | ||
162 | status = __acpi_query_osc(flags, osc_data, &dummy); | 161 | __acpi_query_osc(flags, osc_data, &dummy); |
163 | out: | 162 | out: |
164 | mutex_unlock(&pci_acpi_lock); | 163 | mutex_unlock(&pci_acpi_lock); |
165 | return status; | 164 | return AE_OK; |
166 | } | 165 | } |
167 | 166 | ||
168 | /** | 167 | /** |