diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-09-25 11:02:30 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-09-25 11:02:30 -0600 |
commit | f999f325f9b9f9fdc09650855f55a848785be67c (patch) | |
tree | e75d9cefb0e212e3db7490353f34d7d6c546f9c4 /nuttx/drivers/rwbuffer.c | |
parent | e5b660c8703aeb38b313f50c3218e64090793d21 (diff) | |
download | px4-nuttx-f999f325f9b9f9fdc09650855f55a848785be67c.tar.gz px4-nuttx-f999f325f9b9f9fdc09650855f55a848785be67c.tar.bz2 px4-nuttx-f999f325f9b9f9fdc09650855f55a848785be67c.zip |
Fixes for compile of rwbuffer.c
Diffstat (limited to 'nuttx/drivers/rwbuffer.c')
-rw-r--r-- | nuttx/drivers/rwbuffer.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/nuttx/drivers/rwbuffer.c b/nuttx/drivers/rwbuffer.c index f5f5ebc75..ee4328aa7 100644 --- a/nuttx/drivers/rwbuffer.c +++ b/nuttx/drivers/rwbuffer.c @@ -395,7 +395,7 @@ int rwb_invalidate_writebuffer(FAR struct rwbuffer_s *rwb, { int ret; - if (rwb->wrmaxblocks > 0 && wrnblocks > 0) + if (rwb->wrmaxblocks > 0 && rwb->wrnblocks > 0) { off_t wrbend; off_t invend; @@ -445,7 +445,7 @@ int rwb_invalidate_writebuffer(FAR struct rwbuffer_s *rwb, offset = block - rwb->wrblockstart; src = rwb->wrbuffer + offset * rwb->blocksize; - ret = rwb->wrflush(rwb->dev, block, nblocks, src); + ret = rwb->wrflush(rwb->dev, src, block, nblocks); if (ret < 0) { fdbg("ERROR: wrflush failed: %d\n", ret); @@ -531,7 +531,7 @@ int rwb_invalidate_readahead(FAR struct rwbuffer_s *rwb, { int ret; - if (rwb->rhmaxblocks > 0 && rhnblocks > 0) + if (rwb->rhmaxblocks > 0 && rwb->rhnblocks > 0) { off_t rhbend; off_t invend; @@ -667,7 +667,7 @@ int rwb_initialize(FAR struct rwbuffer_s *rwb) #endif /* CONFIG_DRVR_WRITEBUFFER */ #ifdef CONFIG_DRVR_READAHEAD - if (rhmaxblocks > 0) + if (rwb->rhmaxblocks > 0) { fvdbg("Initialize the read-ahead buffer\n"); @@ -719,7 +719,7 @@ void rwb_uninitialize(FAR struct rwbuffer_s *rwb) #endif #ifdef CONFIG_DRVR_READAHEAD - if (rhmaxblocks > 0) + if (rwb->rhmaxblocks > 0) { sem_destroy(&rwb->rhsem); if (rwb->rhbuffer) @@ -738,6 +738,7 @@ int rwb_read(FAR struct rwbuffer_s *rwb, off_t startblock, uint32_t nblocks, FAR uint8_t *rdbuffer) { uint32_t remaining; + int ret = OK; fvdbg("startblock=%ld nblocks=%ld rdbuffer=%p\n", (long)startblock, (long)nblocks, rdbuffer); @@ -766,7 +767,7 @@ int rwb_read(FAR struct rwbuffer_s *rwb, off_t startblock, uint32_t nblocks, #endif #ifdef CONFIG_DRVR_READAHEAD - if (rhmaxblocks > 0) + if (rwb->rhmaxblocks > 0) { /* Loop until we have read all of the requested blocks */ @@ -777,7 +778,7 @@ int rwb_read(FAR struct rwbuffer_s *rwb, off_t startblock, uint32_t nblocks, if (rwb->rhnblocks > 0) { - off_t startblock = startblock; + off_t block = startblock; size_t nbufblocks = 0; off_t bufferend; @@ -788,9 +789,7 @@ int rwb_read(FAR struct rwbuffer_s *rwb, off_t startblock, uint32_t nblocks, bufferend = rwb->rhblockstart + rwb->rhnblocks; - while ((startblock >= rwb->rhblockstart) && - (startblock < bufferend) && - (remaining > 0)) + while (block >= rwb->rhblockstart && block < bufferend && remaining > 0) { /* This is one more that we will read from the read ahead * buffer. @@ -815,7 +814,7 @@ int rwb_read(FAR struct rwbuffer_s *rwb, off_t startblock, uint32_t nblocks, if (remaining > 0) { - int ret = rwb_rhreload(rwb, startblock); + ret = rwb_rhreload(rwb, startblock); if (ret < 0) { fdbg("ERROR: Failed to fill the read-ahead buffer: %d\n", ret); @@ -853,10 +852,10 @@ int rwb_read(FAR struct rwbuffer_s *rwb, off_t startblock, uint32_t nblocks, int rwb_write(FAR struct rwbuffer_s *rwb, off_t startblock, size_t nblocks, FAR const uint8_t *wrbuffer) { - int ret; + int ret = OK; #ifdef CONFIG_DRVR_READAHEAD - if (rhmaxblocks > 0) + if (rwb->rhmaxblocks > 0) { /* If the new write data overlaps any part of the read buffer, then * flush the data from the read buffer. We could attempt some more @@ -891,7 +890,7 @@ int rwb_write(FAR struct rwbuffer_s *rwb, off_t startblock, /* Then transfer the data directly to the media */ - ret = rwb->wrflush(rwb->dev, startblock, nblocks, wrbuffer); + ret = rwb->wrflush(rwb->dev, wrbuffer, startblock, nblocks); } else { @@ -912,7 +911,7 @@ int rwb_write(FAR struct rwbuffer_s *rwb, off_t startblock, * flush callback. */ - ret = rwb->wrflush(rwb->dev, startblock, nblocks, wrbuffer); + ret = rwb->wrflush(rwb->dev, wrbuffer, startblock, nblocks); } #endif |