set device_drv function noops when first add_cgpu
diff --git a/cgminer.c b/cgminer.c
index 6cea4ff..3d7dce3 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -7152,8 +7152,6 @@ void enable_device(struct cgpu_info *cgpu)
gpu_threads += cgpu->threads;
}
#endif
- fill_device_drv(cgpu);
-
rwlock_init(&cgpu->qlock);
cgpu->queued_work = NULL;
}
@@ -7196,6 +7194,8 @@ bool add_cgpu(struct cgpu_info *cgpu)
cgpu->last_device_valid_work = time(NULL);
mutex_unlock(&stats_lock);
+ fill_device_drv(cgpu);
+
if (hotplug_mode)
devices[total_devices + new_devices++] = cgpu;
else