From d1799f65ca4835cbb896f802b297b39e518b9cc6 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 24 Dec 2014 11:04:18 +0100 Subject: nusb/serial: fix nusb/serial hang with ftdi have to create process, not a thread in ftdi code so main process can exit after posting fs service. --- sys/src/cmd/nusb/serial/ftdi.c | 2 +- sys/src/cmd/nusb/serial/serial.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'sys/src') diff --git a/sys/src/cmd/nusb/serial/ftdi.c b/sys/src/cmd/nusb/serial/ftdi.c index 67d28b897..1b1e88722 100644 --- a/sys/src/cmd/nusb/serial/ftdi.c +++ b/sys/src/cmd/nusb/serial/ftdi.c @@ -1470,7 +1470,7 @@ ftinit(Serialport *p) ftdiwrite(p, BMMPSSE|0x0b, 0, FTSETBITMODE); } incref(ser->dev); - threadcreate(statusreader, p, 8*1024); + proccreate(statusreader, p, 8*1024); return 0; } diff --git a/sys/src/cmd/nusb/serial/serial.c b/sys/src/cmd/nusb/serial/serial.c index 9f570791f..295333e00 100644 --- a/sys/src/cmd/nusb/serial/serial.c +++ b/sys/src/cmd/nusb/serial/serial.c @@ -747,10 +747,10 @@ threadmain(int argc, char* argv[]) ser->nifcs = 1; /* probe all the drivers */ - if(plprobe(ser) - && uconsprobe(ser) + if(uconsprobe(ser) && ftprobe(ser) - && slprobe(ser)) + && slprobe(ser) + && plprobe(ser)) sysfatal("no serial devices found"); for(i = 0; i < ser->nifcs; i++){ -- cgit v1.2.3