X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fserial.c;h=7f1f1eeaa2651360194231cfc5793fd4ad40141f;hb=d643e6bc3942d7b7149a53b3091034d64eac0ad3;hp=fe39effc604f10119dcc822d4b0281557697115a;hpb=cb828f1b3e00ccd0ad23d7cb98dca4d0d4749b07;p=libsigrok.git diff --git a/src/serial.c b/src/serial.c index fe39effc..7f1f1eea 100644 --- a/src/serial.c +++ b/src/serial.c @@ -128,7 +128,18 @@ SR_PRIV int serial_open(struct sr_serial_dev_inst *serial, int flags) return ret; } - return serial_flush(serial); + /* + * Flush potentially dangling RX data. Availability of the + * flush primitive depends on the transport/cable, absense + * is non-fatal. + */ + ret = serial_flush(serial); + if (ret == SR_ERR_NA) + ret = SR_OK; + if (ret != SR_OK) + return ret; + + return SR_OK; } /**