PnPacpi parser fix
Subsystems (2)
PATCH 1/1 PnPacpi parser fix
Hi,
this patch fix a bug in the pnpacpi parser : the pnpacpi parser supposed that are no resource after EndDependentFn.
Please apply.
Signed-off-by Matthieu Castet <[email protected]>
drivers/pnp/pnpacpi/rsparser.c renamed from drivers/pnp/pnpacpi/rsparser.c.old +10 -1
@@ -443,6 +443,7 @@struct acpipnp_parse_option_s {struct pnp_option *option; +struct pnp_option *independent_option;struct pnp_dev *dev; };
@@ -506,7 +507,15 @@ parse_data->option = option;break ;case ACPI_RSTYPE_END_DPF : -return AE_CTRL_TERMINATE ; +/*only one EndDependentFn is allowed*/ +if (!parse_data->independent_option) { +pnp_warn ("PnPACPI: more than one EndDependentFn" ); +return AE_ERROR ; + } + parse_data->option = parse_data->independent_option; + parse_data->independent_option =NULL ; +break ;default :pnp_warn ("PnPACPI:Option type: %d not handle" , res->id);return AE_ERROR ;
@@ -524,6 +533,7 @@ parse_data.option =pnp_register_independent_option (dev);if (!parse_data.option)return AE_ERROR ; + parse_data.independent_option = parse_data.option; parse_data.dev = dev; status =acpi_walk_resources (handle,METHOD_NAME__PRS , pnpacpi_option_resource, &parse_data);