Fix issue with serial devices opening when they have already failed once

This commit is contained in:
Paul Dino Jones 2025-03-24 15:57:50 -04:00
parent 22a41d1ddb
commit c3a88f3b07
1 changed files with 3 additions and 1 deletions

View File

@ -165,7 +165,7 @@ int monocoque_serial_open(SerialDevice* serialdevice, const char* portdev)
slogi("looking to open physical serialdevice %s", portdev); slogi("looking to open physical serialdevice %s", portdev);
for(int i = 0; i < 10; i++) for(int i = 0; i < 10; i++)
{ {
if(monocoque_serial_devices[i].open == true || monocoque_serial_devices[i].openfail == true) if(monocoque_serial_devices[i].open == true && monocoque_serial_devices[i].openfail == false)
{ {
if(msastrcicmp(monocoque_serial_devices[i].portname, portdev) == 0) if(msastrcicmp(monocoque_serial_devices[i].portname, portdev) == 0)
{ {
@ -204,6 +204,8 @@ int monocoque_serial_open(SerialDevice* serialdevice, const char* portdev)
if (error != 0) if (error != 0)
{ {
sloge("Error opening serial port"); sloge("Error opening serial port");
free(monocoque_serial_devices[i].portname);
monocoque_serial_devices[i].portname = NULL;
monocoque_serial_devices[i].open = false; monocoque_serial_devices[i].open = false;
monocoque_serial_devices[i].openfail = true; monocoque_serial_devices[i].openfail = true;
return -1; return -1;