diff options
Diffstat (limited to 'cpukit/libblock/src')
-rw-r--r-- | cpukit/libblock/src/bdbuf.c | 3 | ||||
-rw-r--r-- | cpukit/libblock/src/blkdev-imfs.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c index ad1112b517..de2cebd7be 100644 --- a/cpukit/libblock/src/bdbuf.c +++ b/cpukit/libblock/src/bdbuf.c @@ -2853,7 +2853,8 @@ rtems_bdbuf_gather_for_purge (rtems_chain_control *purge_list, } else { - while (*prev != NULL && cur == (*prev)->avl.right) + while (*prev != NULL + && (cur == (*prev)->avl.right || (*prev)->avl.right == NULL)) { /* Up */ cur = *prev; diff --git a/cpukit/libblock/src/blkdev-imfs.c b/cpukit/libblock/src/blkdev-imfs.c index 86455930f6..c69542d531 100644 --- a/cpukit/libblock/src/blkdev-imfs.c +++ b/cpukit/libblock/src/blkdev-imfs.c @@ -75,6 +75,7 @@ static ssize_t rtems_blkdev_imfs_read( } if (remaining >= 0) { + iop->offset += count; rv = (ssize_t) count; } else { errno = EIO; @@ -134,6 +135,7 @@ static ssize_t rtems_blkdev_imfs_write( } if (remaining >= 0) { + iop->offset += count; rv = (ssize_t) count; } else { errno = EIO; |