From 2d2bb57bfccb6722548215bee31e38b714d7bbab Mon Sep 17 00:00:00 2001 From: Matthieu Castet Date: Fri, 25 Mar 2005 12:03:15 -0500 Subject: [PATCH] --- yaml --- r: 4723 b: refs/heads/master c: b008b8d7092053fc1f036cfc54dc11740cc424ed h: refs/heads/master i: 4721: aaa6633745c04191f656d2778bbf93ce60dfbca0 4719: 5bdb45a194573a030658298163f01d9bb65a10d1 v: v3 --- [refs] | 2 +- trunk/drivers/pnp/pnpacpi/rsparser.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index cd973a457897..e510405628af 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a406d9e63e1d7088aad22565449de2e109300e5c +refs/heads/master: b008b8d7092053fc1f036cfc54dc11740cc424ed diff --git a/trunk/drivers/pnp/pnpacpi/rsparser.c b/trunk/drivers/pnp/pnpacpi/rsparser.c index dd61e09029b1..ae3819ad7cf4 100644 --- a/trunk/drivers/pnp/pnpacpi/rsparser.c +++ b/trunk/drivers/pnp/pnpacpi/rsparser.c @@ -444,6 +444,7 @@ pnpacpi_parse_fixed_mem32_option(struct pnp_option *option, struct acpipnp_parse_option_s { struct pnp_option *option; + struct pnp_option *option_independent; struct pnp_dev *dev; }; @@ -507,7 +508,14 @@ static acpi_status pnpacpi_option_resource(struct acpi_resource *res, parse_data->option = option; break; 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: pnp_warn("PnPACPI: unknown resource type %d", res->id); 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); if (!parse_data.option) return AE_ERROR; + parse_data.option_independent = parse_data.option; parse_data.dev = dev; status = acpi_walk_resources(handle, METHOD_NAME__PRS, pnpacpi_option_resource, &parse_data);