diff --git a/fs/vfs/fs_read.c b/fs/vfs/fs_read.c index 5ae13b57cd405..e1eaf6fbcb41e 100644 --- a/fs/vfs/fs_read.c +++ b/fs/vfs/fs_read.c @@ -182,7 +182,7 @@ ssize_t file_readv(FAR struct file *filep, else if (inode != NULL && inode->u.i_ops) { - if (inode->u.i_ops->readv) + if (iovcnt > 1 && inode->u.i_ops->readv) { struct uio uio; diff --git a/fs/vfs/fs_write.c b/fs/vfs/fs_write.c index 89b5cddd910fd..409d80b6c08e5 100644 --- a/fs/vfs/fs_write.c +++ b/fs/vfs/fs_write.c @@ -160,7 +160,7 @@ ssize_t file_writev(FAR struct file *filep, inode = filep->f_inode; if (inode != NULL && inode->u.i_ops) { - if (inode->u.i_ops->writev) + if (iovcnt > 1 && inode->u.i_ops->writev) { struct uio uio;