Browse Source

Bugfix: icarus: Avoid a race with watchdog applying settings by setting device_data before add_cgpu

Luke Dashjr 11 years ago
parent
commit
ae56aae14d
1 changed files with 1 additions and 2 deletions
  1. 1 2
      driver-icarus.c

+ 1 - 2
driver-icarus.c

@@ -623,6 +623,7 @@ bool icarus_detect_custom(const char *devpath, struct device_drv *api, struct IC
 	icarus->device_fd = -1;
 	icarus->device_fd = -1;
 	icarus->threads = 1;
 	icarus->threads = 1;
 	icarus->procs = info->fpga_count;
 	icarus->procs = info->fpga_count;
+	icarus->device_data = info;
 	icarus->set_device_funcs = icarus_set_device_funcs_live;
 	icarus->set_device_funcs = icarus_set_device_funcs_live;
 	add_cgpu(icarus);
 	add_cgpu(icarus);
 
 
@@ -634,8 +635,6 @@ bool icarus_detect_custom(const char *devpath, struct device_drv *api, struct IC
 		icarus->proc_repr,
 		icarus->proc_repr,
 		baud, work_division, fpga_count);
 		baud, work_division, fpga_count);
 
 
-	icarus->device_data = info;
-
 	timersub(&tv_finish, &tv_start, &(info->golden_tv));
 	timersub(&tv_finish, &tv_start, &(info->golden_tv));
 
 
 	return true;
 	return true;