aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/glue.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/glue.c')
-rw-r--r--drivers/acpi/glue.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c
index a2f46d587d55..8a0324b43e53 100644
--- a/drivers/acpi/glue.c
+++ b/drivers/acpi/glue.c
@@ -96,7 +96,7 @@ struct acpi_find_pci_root {
96static acpi_status 96static acpi_status
97do_root_bridge_busnr_callback(struct acpi_resource *resource, void *data) 97do_root_bridge_busnr_callback(struct acpi_resource *resource, void *data)
98{ 98{
99 unsigned long *busnr = (unsigned long *)data; 99 unsigned long *busnr = data;
100 struct acpi_resource_address64 address; 100 struct acpi_resource_address64 address;
101 101
102 if (resource->type != ACPI_RESOURCE_TYPE_ADDRESS16 && 102 if (resource->type != ACPI_RESOURCE_TYPE_ADDRESS16 &&
@@ -189,8 +189,12 @@ find_pci_rootbridge(acpi_handle handle, u32 lvl, void *context, void **rv)
189 bus = tmp; 189 bus = tmp;
190 190
191 if (seg == find->seg && bus == find->bus) 191 if (seg == find->seg && bus == find->bus)
192 {
192 find->handle = handle; 193 find->handle = handle;
193 status = AE_OK; 194 status = AE_CTRL_TERMINATE;
195 }
196 else
197 status = AE_OK;
194 exit: 198 exit:
195 kfree(buffer.pointer); 199 kfree(buffer.pointer);
196 return status; 200 return status;
@@ -217,7 +221,7 @@ do_acpi_find_child(acpi_handle handle, u32 lvl, void *context, void **rv)
217 acpi_status status; 221 acpi_status status;
218 struct acpi_device_info *info; 222 struct acpi_device_info *info;
219 struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; 223 struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
220 struct acpi_find_child *find = (struct acpi_find_child *)context; 224 struct acpi_find_child *find = context;
221 225
222 status = acpi_get_object_info(handle, &buffer); 226 status = acpi_get_object_info(handle, &buffer);
223 if (ACPI_SUCCESS(status)) { 227 if (ACPI_SUCCESS(status)) {