RE: [PATCH] ACPICA: AcpiGetSleepTypeData: Failure to find \_Sx should not result in a loud warning [v2]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm a bit confused. What does the execution of the _Sx methods have to do with module-level code? Obviously, many times the _Sx objects are implemented as simply named objects, but the table load doesn't care what is and what isn't present.


> -----Original Message-----
> From: Zheng, Lv
> Sent: Friday, October 09, 2015 6:38 PM
> To: Prarit Bhargava; Moore, Robert; devel@xxxxxxxxxx
> Cc: linux-acpi@xxxxxxxxxxxxxxx; Wysocki, Rafael J
> Subject: RE: [PATCH] ACPICA: AcpiGetSleepTypeData: Failure to find \_Sx
> should not result in a loud warning [v2]
> 
> Hi,
> 
> > From: Prarit Bhargava [mailto:prarit@xxxxxxxxxx]
> > Sent: Friday, October 09, 2015 7:30 PM
> >
> > On 10/09/2015 01:26 AM, Zheng, Lv wrote:
> > > Please ignore this.
> > > The fix is against the caller.
> > >
> > > Thanks and best regards
> > > -Lv
> > >
> > >> From: Devel [mailto:devel-bounces@xxxxxxxxxx] On Behalf Of Zheng,
> > >> Lv
> > >> Sent: Friday, October 09, 2015 10:02 AM
> > >>
> > >> Why don't you fix this in the invoker side?
> > >> For example:
> > >> If (acpi_get_handle())
> > >> 	acpi_evaluate_object()
> >
> > That seems like a sloppy workaround an actual bug in ACPICA.
> 
> So let me ignore this which is a reply for a useless question.
> 
> >
> > >> So that the AE_NOT_FOUND warning can still be kept for the real
> troubles?
> >
> > The code is warning 100% of the time on something that is optional.
> 
> Let me ignore this which is a reply for a useless question.
> 
> >
> > >> There are really scenarios that such warning is useful for catching
> bugs.
> > >>
> >
> > What scenario is possible where this causes a problem?  Issuing an
> > error on something that is optional is not a good idea.
> 
> There are several scenarios, let me say some known stuffs about the module
> level code support.
> In AML grammar, module level code (non-object-definition AML opcodes
> outside of a control method) is legal.
> While it is supported in ACPICA in a split way:
> 1. In the early stage, table loading code only executes those object
> definition opcodes and links all "if/else/while" AML fragments together.
> 2. In the late stage, object initialization code will execute such AML
> fragments before invoking all _INI methods.
> 
> 1. Since code is not executed in the Windows compliant order during the
> early table loading stage, some objects are not defined while they should.
> 2. Even worse, during the early stage, ACPICA may fail the whole table
> loading process due to AE_NOT_FOUND, leaving us partial initialized
> objects (the ACPICA AML interpreter implements 2 phases to parse a table
> to complete the table loading).
> Such issue is worked around by deleting the namespace objects created
> during the early stage if an exception (AE_NOT_FOUND) is encountered.
> 
> So you can see, such kind of error is sometime useful for catching AML
> interpreter issues or BIOS bugs.
> 
> Thanks and best regards
> -Lv
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux