On Thu, Jan 17, 2008 at 03:04:10PM -0800, Venki Pallipadi wrote:
> 
> Below is another potential fix for the problem here. Going through ACPI
> ioremap usages, we found at one place the mapping is cached for possible
> optimization reason and not unmapped later. Patch below always unmaps
> ioremap at this place in ACPICA.
> 
> Thanks,
> Venki
> 
> 
> Index: linux-2.6.git/drivers/acpi/executer/exregion.c
> ===================================================================
> --- linux-2.6.git.orig/drivers/acpi/executer/exregion.c       2008-01-17 
> 03:18:39.000000000 -0800
> +++ linux-2.6.git/drivers/acpi/executer/exregion.c    2008-01-17 
> 07:34:33.000000000 -0800
> @@ -48,6 +48,8 @@
>  #define _COMPONENT          ACPI_EXECUTER
>  ACPI_MODULE_NAME("exregion")
>  
> +static int ioremap_cache;
> +
>  
> /*******************************************************************************
>   *
>   * FUNCTION:    acpi_ex_system_memory_space_handler
> @@ -249,6 +251,13 @@
>               break;
>       }
>  
> +     if (!ioremap_cache) {
> +             acpi_os_unmap_memory(mem_info->mapped_logical_address,
> +                                  window_size);
> +             mem_info->mapped_logical_address = 0;
> +             mem_info->mapped_physical_address = 0;
> +             mem_info->mapped_length = 0;
> +     }
>       return_ACPI_STATUS(status);
>  }
>  


Applying and compiling your patch I see:

  CC      drivers/acpi/executer/exregion.o
drivers/acpi/executer/exregion.c: In function 
'acpi_ex_system_memory_space_handler':
drivers/acpi/executer/exregion.c:81: warning: 'window_size' may be used 
uninitialized in this function
 

After glancing through this file it seems that ioremap_cache is always 0
and acpi_os_unmap_memory will unconditionally be executed at end of this 
function.
I am not familiar with that code. But I just want to reinsure that this
is what you want. And if so, why is that variable needed?
But maybe I missed something ...
(I'll test it tomorrow, or I better should say later today.)


Andreas



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

Reply via email to