about held locks in acpi_psx_execute()

From: Felipe Alfaro Solana (felipe_alfaro_at_linuxmail.org)
Date: 11/30/03

  • Next message: Marcel Holtmann: "[PATCH] User level driver support for input subsystem"
    To: acpi-devel@lists.sourceforge.net
    Date:	Sun, 30 Nov 2003 22:53:05 +0100
    
    

    Hi!

    While looking at drivers/acpi/parser/psxface.c,I have noticed that the
    acpi_psx_execute(0 function seems to held some structures referrenced
    when an error occurs during its execution:

    acpi_status
    acpi_psx_execute (
            struct acpi_namespace_node *method_node,
            union acpi_operand_object **params,
            union acpi_operand_object **return_obj_desc)
    {
    ...
            if (params) {
                    /*
                     * The caller "owns" the parameters, so give each one an
    extra
                     * reference
                     */
                    for (i = 0; params[i]; i++) {
                            acpi_ut_add_reference (params[i]);
                    }
            }

            /*
             * 1) Perform the first pass parse of the method to enter any
             * named objects that it creates into the namespace
             */
            ACPI_DEBUG_PRINT ((ACPI_DB_PARSE,
                    "**** Begin Method Parse **** Entry=%p obj=%p\n",
                    method_node, obj_desc));

            /* Create and init a Root Node */

            op = acpi_ps_create_scope_op ();
            if (!op) {
                    return_ACPI_STATUS (AE_NO_MEMORY);
            }

    As you can see, acpi_psx_execute() will hold a lock for each element of
    the params[] array if there's an error while invoking
    acpi_ps_create_scope_op(), for example.

    Is this intentional?
    Thanks!

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Marcel Holtmann: "[PATCH] User level driver support for input subsystem"

    Relevant Pages

    • Re: select() for delay.
      ... > three sets empty, n zero, and a non-null timeout as a fairly portable ... > This patch improves the sys_selectexecution when used for delay. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • 2.4.23-pre5 crash
      ... Just a quick note to report that my system does not run ... system locks up usually during the execution of the rc ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • 2.6.0-test5 vs. modem cards
      ... which can be solved by booting 2.4.19. ... My partial understanding of Linux PCMCIA operations yields a guess that line ... unregister_serialcompile but fail during execution. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [PATCH]: Dont force O_LARGEFILE for 32 bit processes on ia64 - 2.6.12-rc3
      ... > by SW emulation or by HW execution. ... > The behavior for all other architectures remains unchanged. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: Disturbing wide variation in execution time
      ... > that time it was running SuSE 9.1 Pro and the execution time for the ... > execution time of the test program as described above. ... Which BIOS version? ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)