@@ -1206,8 +1206,18 @@ void networkInterfaceInternetConnectionAvailable(NetIndex_t index)
1206
1206
return ;
1207
1207
}
1208
1208
1209
- // Mark this network as online
1210
1209
bitMask = 1 << index;
1210
+
1211
+ // If we are currently running a stop sequence, do nothing
1212
+ // Avoids an infinite start/stop loop
1213
+ if (networkSeqStopping & bitMask)
1214
+ {
1215
+ if (settings.debugNetworkLayer )
1216
+ systemPrintf (" %s stop sequencer running, not marking interface online\r\n " , networkGetNameByIndex (index));
1217
+ return ;
1218
+ }
1219
+
1220
+ // Mark this network as online
1211
1221
networkHasInternet_bm |= bitMask;
1212
1222
if (settings.debugNetworkLayer )
1213
1223
systemPrintf (" %s has internet access\r\n " , networkInterfaceTable[index].name );
@@ -1294,8 +1304,18 @@ void networkInterfaceInternetConnectionLost(NetIndex_t index)
1294
1304
return ;
1295
1305
}
1296
1306
1297
- // Mark this network as offline
1298
1307
bitMask = 1 << index;
1308
+
1309
+ // If we are currently running a start sequence, do nothing
1310
+ // Avoids an infinite start/stop loop
1311
+ if (networkSeqStarting & bitMask)
1312
+ {
1313
+ if (settings.debugNetworkLayer )
1314
+ systemPrintf (" %s start sequencer running, not marking interface offline\r\n " , networkGetNameByIndex (index));
1315
+ return ;
1316
+ }
1317
+
1318
+ // Mark this network as offline
1299
1319
networkHasInternet_bm &= ~bitMask;
1300
1320
if (settings.debugNetworkLayer )
1301
1321
systemPrintf (" %s does NOT have internet access\r\n " , networkInterfaceTable[index].name );
0 commit comments