mirror of
https://github.com/apache/nuttx.git
synced 2026-06-02 09:38:37 +08:00
rivers/rwbuffer: Fix some logic errors
This commit is contained in:
committed by
Gregory Nutt
parent
32de036490
commit
70620d3dd6
@@ -10881,4 +10881,6 @@
|
|||||||
device (2015-08-24).
|
device (2015-08-24).
|
||||||
* networking: Correct return value from psock_tcp_accept(). From
|
* networking: Correct return value from psock_tcp_accept(). From
|
||||||
SaeHie Park (2015-08-25).
|
SaeHie Park (2015-08-25).
|
||||||
|
* drivers/rwbuffer.c: Fix some logic errors. From Dmitry Nikolaev
|
||||||
|
via Juha Niskanen (2015-08-26).
|
||||||
|
|
||||||
|
|||||||
+1
-1
Submodule Documentation updated: ce750c0899...8a30728ae9
+1
-1
Submodule configs updated: e3f37812a9...e1e1873700
+5
-5
@@ -96,7 +96,7 @@ static void rwb_semtake(sem_t *sem)
|
|||||||
|
|
||||||
while (sem_wait(sem) != 0)
|
while (sem_wait(sem) != 0)
|
||||||
{
|
{
|
||||||
/* The only case that an error should occr here is if
|
/* The only case that an error should occur here is if
|
||||||
* the wait was awakened by a signal.
|
* the wait was awakened by a signal.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -117,8 +117,8 @@ static void rwb_semtake(sem_t *sem)
|
|||||||
static inline bool rwb_overlap(off_t blockstart1, size_t nblocks1,
|
static inline bool rwb_overlap(off_t blockstart1, size_t nblocks1,
|
||||||
off_t blockstart2, size_t nblocks2)
|
off_t blockstart2, size_t nblocks2)
|
||||||
{
|
{
|
||||||
off_t blockend1 = blockstart1 + nblocks1;
|
off_t blockend1 = blockstart1 + nblocks1 - 1;
|
||||||
off_t blockend2 = blockstart2 + nblocks2;
|
off_t blockend2 = blockstart2 + nblocks2 - 1;
|
||||||
|
|
||||||
/* If the buffer 1 is wholly outside of buffer 2, return false */
|
/* If the buffer 1 is wholly outside of buffer 2, return false */
|
||||||
|
|
||||||
@@ -257,7 +257,7 @@ static ssize_t rwb_writebuffer(FAR struct rwbuffer_s *rwb,
|
|||||||
|
|
||||||
/* Flush the write buffer */
|
/* Flush the write buffer */
|
||||||
|
|
||||||
ret = rwb->wrflush(rwb, rwb->wrbuffer, rwb->wrblockstart, rwb->wrnblocks);
|
ret = rwb->wrflush(rwb->dev, rwb->wrbuffer, rwb->wrblockstart, rwb->wrnblocks);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
fdbg("ERROR: Error writing multiple from cache: %d\n", -ret);
|
fdbg("ERROR: Error writing multiple from cache: %d\n", -ret);
|
||||||
@@ -842,7 +842,7 @@ int rwb_read(FAR struct rwbuffer_s *rwb, off_t startblock, uint32_t nblocks,
|
|||||||
* the user buffer.
|
* the user buffer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ret = rwb->rhreload(rwb->dev, startblock, nblocks, rdbuffer);
|
ret = rwb->rhreload(rwb->dev, rdbuffer, startblock, nblocks);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user