X-Git-Url: https://www.flypig.org.uk/git/?a=blobdiff_plain;f=src%2Fshared.c;h=026af2999d032d9042d4e666ba596f7d27537107;hb=6191e8bf79c4e880157bc2b357fa8dd29a71ea71;hp=d78b27c1e70459cd456f0a043fd7633043e86b3f;hpb=49811cfee18e0e7cc9e7d9a4b3e6d21e80186811;p=hashcat.git diff --git a/src/shared.c b/src/shared.c index d78b27c..026af29 100644 --- a/src/shared.c +++ b/src/shared.c @@ -3482,16 +3482,25 @@ int hm_set_fanspeed_with_device_id_nvapi (const uint device_id, const int fanspe { if (data.hm_nvapi) { - NV_GPU_COOLER_LEVELS CoolerLevels = { 0 }; + if (fanpolicy == 1) + { + NV_GPU_COOLER_LEVELS CoolerLevels = { 0 }; - CoolerLevels.Version = GPU_COOLER_LEVELS_VER | sizeof (NV_GPU_COOLER_LEVELS); + CoolerLevels.Version = GPU_COOLER_LEVELS_VER | sizeof (NV_GPU_COOLER_LEVELS); - CoolerLevels.Levels[0].Level = fanspeed; - CoolerLevels.Levels[0].Policy = fanpolicy; + CoolerLevels.Levels[0].Level = fanspeed; + CoolerLevels.Levels[0].Policy = 1; - if (hm_NvAPI_GPU_SetCoolerLevels (data.hm_nvapi, data.hm_device[device_id].nvapi, 0, &CoolerLevels) != NVAPI_OK) return -1; + if (hm_NvAPI_GPU_SetCoolerLevels (data.hm_nvapi, data.hm_device[device_id].nvapi, 0, &CoolerLevels) != NVAPI_OK) return -1; - return 0; + return 0; + } + else + { + if (hm_NvAPI_GPU_RestoreCoolerSettings (data.hm_nvapi, data.hm_device[device_id].nvapi, 0) != NVAPI_OK) return -1; + + return 0; + } } }