static int pega_acc_axis(struct asus_laptop *asus, int curr, char *method)
 {
+       unsigned long long val = (unsigned long long)curr;
+       acpi_status status;
        int i, delta;
-       unsigned long long val;
-       for (i = 0; i < PEGA_ACC_RETRIES; i++) {
-               acpi_evaluate_integer(asus->handle, method, NULL, &val);
 
+       for (i = 0; i < PEGA_ACC_RETRIES; i++) {
+               status = acpi_evaluate_integer(asus->handle, method, NULL, &val);
+               if (ACPI_FAILURE(status))
+                       continue;
                /* The output is noisy.  From reading the ASL
                 * dissassembly, timeout errors are returned with 1's
                 * in the high word, and the lack of locking around