Tidy up the "read" file operation handler, `comedi_read()` a bit and improve the error handling and the "end-of-file" handling. There are some other changes I want to make, such as switching to the newer wait API (prepare_to_wait()/finish_wait()) and preventing several tasks trying to read or write the same subdevice at the same time (but without using the COMEDI device's main mutex as it is too coarse). Those changes can wait until after I've cleaned up and improved the "write" file operation handler a bit. 01) staging: comedi: remain busy until read end-of-file 02) staging: comedi: don't consider "unmunged" data when becoming non-busy 03) staging: comedi: do extra checks for becoming non-busy for "read" 04) staging: comedi: make some variables unsigned in comedi_read() 05) staging: comedi: avoid bad truncation of a size_t in comedi_read() 06) staging: comedi: allow buffer wraparound in comedi_read() 07) staging: comedi: remove superfluous retval = 0 in comedi_read() 08) staging: comedi: return error on "read" if no command set up 09) staging: comedi: simplify returned errors for comedi_read() 10) staging: comedi: check for more errors for zero-length read drivers/staging/comedi/comedi_fops.c | 68 +++++++++++++++++------------------- 1 file changed, 32 insertions(+), 36 deletions(-) _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel