[ACPI] PNPACPI parse error
http://bugzilla.kernel.org/show_bug.cgi?id=3912 Written-by: matthieu castet <castet.matthieu@free.fr> Acked-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
a406d9e63e
commit
b008b8d709
1 changed files with 10 additions and 1 deletions
|
@ -444,6 +444,7 @@ pnpacpi_parse_fixed_mem32_option(struct pnp_option *option,
|
||||||
|
|
||||||
struct acpipnp_parse_option_s {
|
struct acpipnp_parse_option_s {
|
||||||
struct pnp_option *option;
|
struct pnp_option *option;
|
||||||
|
struct pnp_option *option_independent;
|
||||||
struct pnp_dev *dev;
|
struct pnp_dev *dev;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -507,7 +508,14 @@ static acpi_status pnpacpi_option_resource(struct acpi_resource *res,
|
||||||
parse_data->option = option;
|
parse_data->option = option;
|
||||||
break;
|
break;
|
||||||
case ACPI_RSTYPE_END_DPF:
|
case ACPI_RSTYPE_END_DPF:
|
||||||
return AE_CTRL_TERMINATE;
|
/*only one EndDependentFn is allowed*/
|
||||||
|
if (!parse_data->option_independent) {
|
||||||
|
pnp_warn("PnPACPI: more than one EndDependentFn");
|
||||||
|
return AE_ERROR;
|
||||||
|
}
|
||||||
|
parse_data->option = parse_data->option_independent;
|
||||||
|
parse_data->option_independent = NULL;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
pnp_warn("PnPACPI: unknown resource type %d", res->id);
|
pnp_warn("PnPACPI: unknown resource type %d", res->id);
|
||||||
return AE_ERROR;
|
return AE_ERROR;
|
||||||
|
@ -525,6 +533,7 @@ acpi_status pnpacpi_parse_resource_option_data(acpi_handle handle,
|
||||||
parse_data.option = pnp_register_independent_option(dev);
|
parse_data.option = pnp_register_independent_option(dev);
|
||||||
if (!parse_data.option)
|
if (!parse_data.option)
|
||||||
return AE_ERROR;
|
return AE_ERROR;
|
||||||
|
parse_data.option_independent = parse_data.option;
|
||||||
parse_data.dev = dev;
|
parse_data.dev = dev;
|
||||||
status = acpi_walk_resources(handle, METHOD_NAME__PRS,
|
status = acpi_walk_resources(handle, METHOD_NAME__PRS,
|
||||||
pnpacpi_option_resource, &parse_data);
|
pnpacpi_option_resource, &parse_data);
|
||||||
|
|
Loading…
Add table
Reference in a new issue