All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Do copy passive devices only if they are valid
@ 2008-03-06 22:33 Thomas Renninger
  2008-03-07  1:07 ` Zhang, Rui
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Renninger @ 2008-03-06 22:33 UTC (permalink / raw)
  To: ming.m.lin; +Cc: Zhang, Rui, linux-acpi

Warn user about a BIOS bug in recent asus boards

Do copy passive devices only if they are valid.

Signed-off-by: Thomas Renninger <trenn@suse.de>

---
 drivers/acpi/thermal.c |   20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

Index: linux-2.6.24/drivers/acpi/thermal.c
===================================================================
--- linux-2.6.24.orig/drivers/acpi/thermal.c
+++ linux-2.6.24/drivers/acpi/thermal.c
@@ -440,16 +440,18 @@ static int acpi_thermal_trips_update(str
 		memset(&devices, 0, sizeof(struct acpi_handle_list));
 		status = acpi_evaluate_reference(tz->device->handle, "_PSL",
 							NULL, &devices);
-		if (ACPI_FAILURE(status))
-			tz->trips.passive.flags.valid = 0;
-		else
+		if (ACPI_SUCCESS(status)) {
 			tz->trips.passive.flags.valid = 1;
-
-		if (memcmp(&tz->trips.passive.devices, &devices,
-				sizeof(struct acpi_handle_list))) {
-			memcpy(&tz->trips.passive.devices, &devices,
-				sizeof(struct acpi_handle_list));
-			ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device");
+			if (memcmp(&tz->trips.passive.devices, &devices,
+				   sizeof(struct acpi_handle_list))) {
+				memcpy(&tz->trips.passive.devices, &devices,
+				       sizeof(struct acpi_handle_list));
+				ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device");
+			}
+		} else {
+			tz->trips.passive.flags.valid = 0;
+			ACPI_EXCEPTION((AE_INFO, status, "Invalid passiv trip"
+					" point\n"));
 		}
 	}
 	if ((flag & ACPI_TRIPS_PASSIVE) || (flag & ACPI_TRIPS_DEVICES)) {



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Do copy passive devices only if they are valid
  2008-03-06 22:33 [PATCH] Do copy passive devices only if they are valid Thomas Renninger
@ 2008-03-07  1:07 ` Zhang, Rui
  0 siblings, 0 replies; 2+ messages in thread
From: Zhang, Rui @ 2008-03-07  1:07 UTC (permalink / raw)
  To: trenn; +Cc: Lin, Ming M, linux-acpi


On Fri, 2008-03-07 at 06:33 +0800, Thomas Renninger wrote:
> Warn user about a BIOS bug in recent asus boards
> 
> Do copy passive devices only if they are valid.
Signed-off-by: Zhang Rui <rui.zhang@intel.com>

thanks,
rui
> Signed-off-by: Thomas Renninger <trenn@suse.de>
> 
> ---
>  drivers/acpi/thermal.c |   20 +++++++++++---------
>  1 file changed, 11 insertions(+), 9 deletions(-)
> 
> Index: linux-2.6.24/drivers/acpi/thermal.c
> ===================================================================
> --- linux-2.6.24.orig/drivers/acpi/thermal.c
> +++ linux-2.6.24/drivers/acpi/thermal.c
> @@ -440,16 +440,18 @@ static int acpi_thermal_trips_update(str
>                 memset(&devices, 0, sizeof(struct acpi_handle_list));
>                 status = acpi_evaluate_reference(tz->device->handle,
> "_PSL",
>                                                         NULL,
> &devices);
> -               if (ACPI_FAILURE(status))
> -                       tz->trips.passive.flags.valid = 0;
> -               else
> +               if (ACPI_SUCCESS(status)) {
>                         tz->trips.passive.flags.valid = 1;
> -
> -               if (memcmp(&tz->trips.passive.devices, &devices,
> -                               sizeof(struct acpi_handle_list))) {
> -                       memcpy(&tz->trips.passive.devices, &devices,
> -                               sizeof(struct acpi_handle_list));
> -                       ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device");
> +                       if (memcmp(&tz->trips.passive.devices,
> &devices,
> +                                  sizeof(struct acpi_handle_list))) {
> +                               memcpy(&tz->trips.passive.devices,
> &devices,
> +                                      sizeof(struct
> acpi_handle_list));
> +                               ACPI_THERMAL_TRIPS_EXCEPTION(flag,
> "device");
> +                       }
> +               } else {
> +                       tz->trips.passive.flags.valid = 0;
> +                       ACPI_EXCEPTION((AE_INFO, status, "Invalid
> passiv trip"
> +                                       " point\n"));
>                 }
>         }
>         if ((flag & ACPI_TRIPS_PASSIVE) || (flag &
> ACPI_TRIPS_DEVICES)) {
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-03-07  1:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-06 22:33 [PATCH] Do copy passive devices only if they are valid Thomas Renninger
2008-03-07  1:07 ` Zhang, Rui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.