  	submit_nonce(thr, work, nonce);
  	free_work(work);
 diff --git a/driver-avalon2.c b/driver-avalon2.c
-index 1a318ab..3da93ce 100644
+index 1a318ab..6c5a3da 100644
 --- a/driver-avalon2.c
 +++ b/driver-avalon2.c
 @@ -42,6 +42,8 @@

+	info->fan_pwm = get_fan_pwm(3 * t - 110);
+}
+
+static inline int mm_cmp_1204(struct avalon2_info *info, int modular)
+{
+	char *mm_1204 = "1204";
+	return strncmp(info->mm_version[modular] + 2, mm_1204, 4) >= 0 ? 1 : 0;
+}
+
+extern void submit_nonce2_nonce(struct thr_info *thr, struct pool *pool, struct pool *real_pool, uint32_t nonce2, uint32_t nonce);

+
+		info = avalon2->device_data;
+		info->led_red[val] = !info->led_red[val];
+		if (!info->led_red[val] && mm_cmp_1404(info, val)) {
+			applog(LOG_ERR, "Avalon2: MM early then MM_XX1404, enable module:%d", val + 1);
+			info->enable[val] = 1;
+		}
+
