diff options
Diffstat (limited to 'nuttx/drivers/analog/adc.c')
-rw-r--r-- | nuttx/drivers/analog/adc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/nuttx/drivers/analog/adc.c b/nuttx/drivers/analog/adc.c index ab374f973..261ffe29e 100644 --- a/nuttx/drivers/analog/adc.c +++ b/nuttx/drivers/analog/adc.c @@ -274,8 +274,12 @@ static ssize_t adc_read(FAR struct file *filep, FAR char *buffer, size_t buflen) /* Will the next message in the FIFO fit into the user buffer? */ - if (ret + msglen > buflen) + if (nread + msglen > buflen) { + /* No.. break out of the loop now with nread equal to the actual + * number of bytes transferred. + */ + break; } @@ -417,4 +421,3 @@ int adc_register(FAR const char *path, FAR struct adc_dev_s *dev) return register_driver(path, &adc_fops, 0444, dev); } - |