devc-serzscc: pb while accessing to port 3

Hi, I got the devc-serzscc source from my sales representative to modify
it for half-duplex use.
After rebuilding it, the driver didn’t work.
Looking to what changed from my previous version I saw that the
set_port() func is different in 6.2 version.

AFAIR, I also had to modify that func in 6.1 but I’m not really sure. I
use it to control Zilog 8530 uarts.

Your set_port() (in init.c) func is:

void set_port(DEV_ZSCC *dev, uint8_t no, uint8_t mask, uint8_t data) {
pthread_mutex_lock(dev->mutex);
write_reg(dev, no, (read_reg(dev, no) & ~mask) | (data & mask));
pthread_mutex_unlock(dev->mutex);
}

My set_port() func is:

void set_port(DEV_ZSCC *dev, uint8_t no, uint8_t mask, uint8_t data) {
pthread_mutex_lock(dev->mutex);
if (no == 3) {
write_reg(dev, 3, (read_reg(dev, 9) & ~mask) | (data & mask));
} else {
write_reg(dev, no, (read_reg(dev, no) & ~mask) | (data & mask));
}
pthread_mutex_unlock(dev->mutex);
}

My devc-serzscc work perfectly so, could verify if there is something
wrong in your code?

thanks,
Alain.