int ret = hp_wmi_perform_query(HPWMI_DISPLAY_QUERY, 0, &state,
                                       sizeof(state), sizeof(state));
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
        return state;
 }
 
        int ret = hp_wmi_perform_query(HPWMI_HDDTEMP_QUERY, 0, &state,
                                       sizeof(state), sizeof(state));
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
        return state;
 }
 
        int ret = hp_wmi_perform_query(HPWMI_ALS_QUERY, 0, &state,
                                       sizeof(state), sizeof(state));
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
        return state;
 }
 
                                       sizeof(state), sizeof(state));
 
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
 
        return state & 0x1;
 }
        int ret = hp_wmi_perform_query(HPWMI_HARDWARE_QUERY, 0, &state,
                                       sizeof(state), sizeof(state));
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
 
        return (state & 0x4) ? 1 : 0;
 }
        int ret = hp_wmi_perform_query(HPWMI_BIOS_QUERY, 1, &value,
                                       sizeof(value), 0);
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
        return 0;
 }
 
        ret = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 1,
                                   &query, sizeof(query), 0);
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
        return 0;
 }
 
        int ret = hp_wmi_perform_query(HPWMI_POSTCODEERROR_QUERY, 0, &state,
                                       sizeof(state), sizeof(state));
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
        return state;
 }
 
        int ret = hp_wmi_perform_query(HPWMI_ALS_QUERY, 1, &tmp,
                                       sizeof(tmp), sizeof(tmp));
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
 
        return count;
 }
        ret = hp_wmi_perform_query(HPWMI_POSTCODEERROR_QUERY, 1, &tmp,
                                       sizeof(tmp), sizeof(tmp));
        if (ret)
-               return -EINVAL;
+               return ret < 0 ? ret : -EINVAL;
 
        return count;
 }