Re: [PATCH v4 1/5] ACPICA: Namespace: Fix a regression that MLC support triggers dead lock in dynamic table loading
From: Rafael J. Wysocki
Date: Wed Jun 22 2016 - 20:36:52 EST
On Tuesday, June 21, 2016 09:55:53 AM Zheng, Lv wrote:
> Hi, Mika
>
> > From: Mika Westerberg [mailto:mika.westerberg@xxxxxxxxxxxxxxx]
> > Subject: Re: [PATCH v4 1/5] ACPICA: Namespace: Fix a regression that MLC
> > support triggers dead lock in dynamic table loading
> >
> > On Tue, Jun 21, 2016 at 12:34:15PM +0800, Lv Zheng wrote:
> > > The new MLC approach invokes MLC per-table basis. But the dynamic
> > loading
> > > support of this is incorrect because of the lock order:
> > > acpi_ns_evaluate
> > > acpi_ex_enter_intperter
> > > acpi_ns_load_table (triggered by Load opcode)
> > > acpi_ns_exec_module_code_list
> > > acpi_ex_enter_intperter
> > > The regression is introduced by the following commit:
> > > Commit: 2785ce8d0da1cac9d8f78615e116cf929e9a9123
> > > ACPICA Commit: 071eff738c59eda1792ac24b3b688b61691d7e7c
> > > Subject: ACPICA: Add per-table execution of module-level code
> > > This patch fixes this regression by unlocking the interpreter lock before
> > > invoking MLC. However the unlocking is done to the
> > acpi_ns_load_table(), in
> > > which, the interpreter lock should be locked by acpi_ns_parse_table()
> > but
> > > wasn't. Reported by Mika Westerberg. Fixed by Lv Zheng.
> > >
> > > Fixes: 2785ce8d0da1 ("ACPICA: Add per-table execution of module-level
> > code")
> > > Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> > > Reported-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> >
> > Now builds fine and fixes the hang, thanks :)
> >
> > Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> [Lv Zheng]
> Great! :)
> I'll leave the SOB correction for Rafael in order not to bother others by re-sending an update.
Applied (with tags), thanks!