Do not try to set fanspeed if connection to X11 failed
[hashcat.git] / src / ext_xnvctrl.c
index 7c97e79..582b86f 100644 (file)
@@ -82,6 +82,8 @@ int hm_XNVCTRL_XOpenDisplay (XNVCTRL_PTR *xnvctrl)
 
   if (dpy == NULL)
   {
+    xnvctrl->dpy = NULL;
+
     return -1;
   }
 
@@ -92,11 +94,15 @@ int hm_XNVCTRL_XOpenDisplay (XNVCTRL_PTR *xnvctrl)
 
 void hm_XNVCTRL_XCloseDisplay (XNVCTRL_PTR *xnvctrl)
 {
+  if (xnvctrl->dpy == NULL) return;
+
   xnvctrl->XCloseDisplay (xnvctrl->dpy);
 }
 
 int get_fan_control (XNVCTRL_PTR *xnvctrl, int gpu, int *val)
 {
+  if (xnvctrl->dpy == NULL) return -1;
+
   int rc = xnvctrl->XNVCTRLQueryTargetAttribute (xnvctrl->dpy, NV_CTRL_TARGET_TYPE_GPU, gpu, 0, NV_CTRL_GPU_COOLER_MANUAL_CONTROL, val);
 
   if (!rc) return -1;
@@ -106,6 +112,8 @@ int get_fan_control (XNVCTRL_PTR *xnvctrl, int gpu, int *val)
 
 int set_fan_control (XNVCTRL_PTR *xnvctrl, int gpu, int val)
 {
+  if (xnvctrl->dpy == NULL) return -1;
+
   xnvctrl->XNVCTRLSetTargetAttribute (xnvctrl->dpy, NV_CTRL_TARGET_TYPE_GPU, gpu, 0, NV_CTRL_GPU_COOLER_MANUAL_CONTROL, val);
 
   int cur;
@@ -121,6 +129,8 @@ int set_fan_control (XNVCTRL_PTR *xnvctrl, int gpu, int val)
 
 int get_core_threshold (XNVCTRL_PTR *xnvctrl, int gpu, int *val)
 {
+  if (xnvctrl->dpy == NULL) return -1;
+
   int rc = xnvctrl->XNVCTRLQueryTargetAttribute (xnvctrl->dpy, NV_CTRL_TARGET_TYPE_GPU, gpu, 0, NV_CTRL_GPU_CORE_THRESHOLD, val);
 
   if (!rc) return -1;
@@ -139,6 +149,8 @@ int get_fan_speed_current (XNVCTRL_PTR *xnvctrl, int gpu, int *val)
 
 int get_fan_speed_target (XNVCTRL_PTR *xnvctrl, int gpu, int *val)
 {
+  if (xnvctrl->dpy == NULL) return -1;
+
   int rc = xnvctrl->XNVCTRLQueryTargetAttribute (xnvctrl->dpy, NV_CTRL_TARGET_TYPE_COOLER, gpu, 0, NV_CTRL_THERMAL_COOLER_LEVEL, val);
 
   if (!rc) return -1;
@@ -148,6 +160,8 @@ int get_fan_speed_target (XNVCTRL_PTR *xnvctrl, int gpu, int *val)
 
 int set_fan_speed_target (XNVCTRL_PTR *xnvctrl, int gpu, int val)
 {
+  if (xnvctrl->dpy == NULL) return -1;
+
   xnvctrl->XNVCTRLSetTargetAttribute (xnvctrl->dpy, NV_CTRL_TARGET_TYPE_COOLER, gpu, 0, NV_CTRL_THERMAL_COOLER_LEVEL, val);
 
   int cur;