--- video.c.old 2007-08-16 14:20:14.000000000 -0500 +++ video.c 2007-08-16 18:02:23.000000000 -0500 @@ -380,7 +380,7 @@ arg0.integer.value = level; status = acpi_evaluate_object(device->dev->handle, "_BCM", &args, NULL); - + device->brightness->curr = level; printk(KERN_DEBUG "set_level status: %x\n", status); return status; } @@ -392,7 +392,11 @@ int status; status = acpi_evaluate_integer(device->dev->handle, "_BQC", NULL, level); - + if (status) + *level = device->brightness->curr; + + printk(KERN_DEBUG "get_level status: %x\n", status); + status = 0; return status; }