diff options
Diffstat (limited to 'drivers/acpi/utils.c')
-rw-r--r-- | drivers/acpi/utils.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c index 371ac12d25b1..cd49a3982b6a 100644 --- a/drivers/acpi/utils.c +++ b/drivers/acpi/utils.c | |||
@@ -136,8 +136,7 @@ acpi_extract_package(union acpi_object *package, | |||
136 | break; | 136 | break; |
137 | case 'B': | 137 | case 'B': |
138 | size_required += | 138 | size_required += |
139 | sizeof(u8 *) + | 139 | sizeof(u8 *) + element->buffer.length; |
140 | (element->buffer.length * sizeof(u8)); | ||
141 | tail_offset += sizeof(u8 *); | 140 | tail_offset += sizeof(u8 *); |
142 | break; | 141 | break; |
143 | default: | 142 | default: |
@@ -255,7 +254,7 @@ acpi_extract_package(union acpi_object *package, | |||
255 | memcpy(tail, element->buffer.pointer, | 254 | memcpy(tail, element->buffer.pointer, |
256 | element->buffer.length); | 255 | element->buffer.length); |
257 | head += sizeof(u8 *); | 256 | head += sizeof(u8 *); |
258 | tail += element->buffer.length * sizeof(u8); | 257 | tail += element->buffer.length; |
259 | break; | 258 | break; |
260 | default: | 259 | default: |
261 | /* Should never get here */ | 260 | /* Should never get here */ |
@@ -347,22 +346,16 @@ acpi_evaluate_reference(acpi_handle handle, | |||
347 | package = buffer.pointer; | 346 | package = buffer.pointer; |
348 | 347 | ||
349 | if ((buffer.length == 0) || !package) { | 348 | if ((buffer.length == 0) || !package) { |
350 | printk(KERN_ERR PREFIX "No return object (len %X ptr %p)\n", | ||
351 | (unsigned)buffer.length, package); | ||
352 | status = AE_BAD_DATA; | 349 | status = AE_BAD_DATA; |
353 | acpi_util_eval_error(handle, pathname, status); | 350 | acpi_util_eval_error(handle, pathname, status); |
354 | goto end; | 351 | goto end; |
355 | } | 352 | } |
356 | if (package->type != ACPI_TYPE_PACKAGE) { | 353 | if (package->type != ACPI_TYPE_PACKAGE) { |
357 | printk(KERN_ERR PREFIX "Expecting a [Package], found type %X\n", | ||
358 | package->type); | ||
359 | status = AE_BAD_DATA; | 354 | status = AE_BAD_DATA; |
360 | acpi_util_eval_error(handle, pathname, status); | 355 | acpi_util_eval_error(handle, pathname, status); |
361 | goto end; | 356 | goto end; |
362 | } | 357 | } |
363 | if (!package->package.count) { | 358 | if (!package->package.count) { |
364 | printk(KERN_ERR PREFIX "[Package] has zero elements (%p)\n", | ||
365 | package); | ||
366 | status = AE_BAD_DATA; | 359 | status = AE_BAD_DATA; |
367 | acpi_util_eval_error(handle, pathname, status); | 360 | acpi_util_eval_error(handle, pathname, status); |
368 | goto end; | 361 | goto end; |
@@ -381,17 +374,13 @@ acpi_evaluate_reference(acpi_handle handle, | |||
381 | 374 | ||
382 | if (element->type != ACPI_TYPE_LOCAL_REFERENCE) { | 375 | if (element->type != ACPI_TYPE_LOCAL_REFERENCE) { |
383 | status = AE_BAD_DATA; | 376 | status = AE_BAD_DATA; |
384 | printk(KERN_ERR PREFIX | ||
385 | "Expecting a [Reference] package element, found type %X\n", | ||
386 | element->type); | ||
387 | acpi_util_eval_error(handle, pathname, status); | 377 | acpi_util_eval_error(handle, pathname, status); |
388 | break; | 378 | break; |
389 | } | 379 | } |
390 | 380 | ||
391 | if (!element->reference.handle) { | 381 | if (!element->reference.handle) { |
392 | printk(KERN_WARNING PREFIX "Invalid reference in" | ||
393 | " package %s\n", pathname); | ||
394 | status = AE_NULL_ENTRY; | 382 | status = AE_NULL_ENTRY; |
383 | acpi_util_eval_error(handle, pathname, status); | ||
395 | break; | 384 | break; |
396 | } | 385 | } |
397 | /* Get the acpi_handle. */ | 386 | /* Get the acpi_handle. */ |